그럼에도 추악한 진실은 남아 있습니다. 탐욕, 복수 또는 때로는 사악한 이유로 자신의 기술을 악용하는 개인이 있습니다 단지 오락을 위해. 최선의 방어? 그들이 사용하는 일반적인 해킹 기술을 이해하고 방어적인 자세를 취하여 환경의 손상을 방지하고 보호합니다. 이 게시물에서는 가장 일반적인 웹사이트 해킹 기술을 다루면서 해커와 악성 코드로부터 사이트를 보호할 수 있는 지식을 제공합니다.
- 가장 일반적인 웹사이트 해킹 기술
- 피싱 & 사회공학
- XSS(교차 사이트 스크립팅) 공격
- SQL 주입 공격
- DDoS 공격
- 플러그인 & 테마 취약점 악용
- 무차별 대입 공격
- 코드 삽입 공격
- DNS 스푸핑
- 쿠키 도난
- 클릭재킹
- 중간자 공격
- 해커로부터 사이트를 보호하는 단계
가장 일반적인 웹사이트 해킹 기술
웹사이트 소유자는 보안 조치를 취하는 경우가 많지만, 간과된 취약점으로 인해 해킹에 노출될 수 있습니다. 이는 웹사이트 강화 및 공격자로부터 보호합니다. 그럼 공격자가 사용하는 가장 일반적인 해킹 기법을 살펴보겠습니다.웹사이트 소프트웨어를 패치
1. 피싱 & 사회공학
피싱은 악의적인 행위자가 자신을 신뢰할 수 있는 개체로 위장하여 피해자를 유인하여 민감한 정보를 공개할 때 발생하는 공격입니다. 피싱 및 사회 공학 기술의 대상은 개인부터 대기업까지 다양하며 공격자는 로그인 자격 증명, 신용 카드 번호 또는 기타 개인 데이터를 노립니다.
가장 친숙한 피싱 기술 중 하나는 해커가 합법적인 회사를 사칭하여 피해자를 속여 데이터를 넘겨주는 사기성 피싱입니다. 링크 조작은 공격자가 악성 URL을 마스킹하여 해당 URL이 실제 웹사이트에 속한 것처럼 보이게 만드는 또 다른 일반적인 방법입니다. 그런 다음 합법적인 웹사이트의 트래픽을 가짜 대안으로 리디렉션하는 파밍이 있습니다. 공격자는 또한 AI와 같은 고급 기술을 사용하여 더욱 설득력 있고 개인화된 메시지를 작성함으로써 피싱 캠페인을 강화하고 있습니다.
피싱 공격의 일반적인 특징으로는 친숙한 회사나 개인의 특이하거나 긴급한 요청, 설득력 있게 설계된 로그인 페이지 등이 있습니다. 예를 들어, 시스템에 대한 무단 액세스를 위해 사용자 자격 증명을 수집하기 위한 가짜 WordPress 데이터베이스 업그레이드 알림을 보았습니다.
2. XSS(교차 사이트 스크립팅) 공격
교차 사이트 스크립팅(XSS)은 웹 애플리케이션에서 자주 발견되는 위험한 취약점입니다. 이를 통해 공격자는 다른 사람이 보는 웹페이지에 악성 스크립트를 삽입하여 악의적인 행위자가 의심하지 않는 방문자를 공격하거나 민감한 데이터를 훔칠 수 있습니다.
XSS 공격은 다음을 포함하여 다양한 형태로 분류될 수 있습니다.
- 저장된 XSS: 삽입된 악성 스크립트는 대상 서버의 데이터베이스나 댓글 필드와 같은 장소에 저장되며, 피해자가 저장된 정보를 검색할 때 유해해집니다.
- 반영된 XSS: 악성 스크립트는 오류 메시지나 검색 결과와 같은 응답으로 웹 서버에서 미러링되어 이메일이나 악성 링크와 같은 매체를 통해 피해자에게 전달됩니다. 유해한 코드는 “신뢰할 수 있는” 서버에서 사용자의 브라우저로 다시 반영될 때 실행됩니다.
- 블라인드 XSS: 해커의 악성 페이로드가 프런트엔드 양식을 통해 서버에 저장되고 백엔드 사용자 또는 관리자가 액세스할 때 트리거됩니다.
- DOM 기반 XSS: 피해자 브라우저의 DOM ‘환경’을 수정하여 공격 페이로드가 실행됩니다.
XSS 공격의 일반적인 지표에는 팝업이나 예상치 못한 콘텐츠 변경과 같은 사이트에서의 예상치 못한 활동이 포함됩니다. 예를 들어 공격자는 WordPress 관리 세션을 하이재킹하여 악성 사용자를 생성하거나 악성 플러그인을 설치할 수 있습니다.
XSS 공격을 완화하려면 침입 스크립트가 웹페이지에 렌더링되는 것을 방지하기 위해 사용자 입력을 효과적으로 삭제해야 합니다. 여기에는 허용 목록 값 사용, 입력의 HTML 관리, 값 삭제, 쿠키의 HTTPOnly 플래그 사용 및 추가를 위한 웹 애플리케이션 방화벽(WAF) 사용이 포함될 수 있습니다. 공격으로부터 보호합니다.
3. SQL 주입 공격
SQL 주입(SQLi)은 SQL 데이터베이스를 사용하는 웹 애플리케이션 및 웹사이트를 대상으로 하는 공격입니다. 공격자는 웹사이트의 입력 필드를 통해 악성 SQL 코드를 삽입하여 고객 기록, 지적 재산 또는 기타 민감한 개인 데이터와 같은 민감한 데이터에 대한 무단 액세스를 제공합니다.
공격자는 SQL 주입을 위해 다양한 방법을 사용합니다. 그들은 웹 페이지 입력을 조작하여 데이터베이스 서버의 명령을 변경 및 실행하거나 데이터베이스 오류를 이용하여 기밀 정보를 얻을 수 있습니다. SQLi 공격은 일반적으로 검색 상자, 양식 필드 또는 URL 매개변수와 같은 웹 페이지 또는 애플리케이션 입력을 통해 발생합니다.
일반적인 유형의 SQL 주입 기술은 다음과 같습니다.
- Union 기반 SQL 삽입: 이 일반적인 방법은 UNION SQL 연산자를 사용하여 원래 쿼리 결과를 확장하여 데이터를 추출합니다.
- 블라인드 SQL 주입: 공격자는 애플리케이션의 응답을 기반으로 정보를 해독하기 위해 데이터베이스에 참 또는 거짓 질문을 제기합니다.
- 부울 기반 SQL 삽입: 공격자는 부울 연산자를 사용하여 데이터베이스 응답을 조작하여 명시적인 데이터가 반환되지 않는 경우에도 악의적인 입력이 true 또는 false를 반환했는지 추론할 수 있습니다.< /span>
- 오류 기반 SQL 삽입: 오류 메시지가 전체 쿼리 결과를 반환하여 기밀 데이터베이스 정보를 공개할 때 사용됩니다.
- 시간 기반 SQL 주입: 공격자는 데이터베이스에 응답을 지연하도록 요청하는 SQL 쿼리를 전달하여 응답 시간을 사용하여 쿼리 결과가 참인지 거짓인지 결정합니다.
SQL 주입 공격으로부터 보호하려면 웹 사이트 소프트웨어에 최신 업데이트 패치를 유지하거나 웹 애플리케이션 방화벽을 사용하여 위험을 완화하는 것이 좋습니다.
4. DDoS 공격
DDoS(분산 서비스 거부) 공격은 주로 웹 서비스나 애플리케이션의 일반적인 기능을 방해하는 것을 목표로 합니다. 이 공격은 인터넷 트래픽의 급증으로 표적 서버, 네트워크 또는 서비스를 압도하여 웹사이트와 서비스의 가동을 중단시키거나 상당한 속도를 저하시킵니다.
DDoS 공격은 네트워크 연결의 다양한 측면을 활용하는 다양한 전술을 포괄합니다. 일반적으로 그들은 손상된 여러 장치를 활용하여 조율된 대규모 트래픽 홍수를 조율합니다.
DDoS 공격의 일반적인 유형은 다음과 같습니다.
- 볼륨 기반 공격: 이러한 공격은 막대한 데이터 볼륨으로 시스템의 대역폭을 압도하여 네트워크 정체를 유발합니다. 일반적인 종류에는 ICMP, UDP 플러드 및 기타 스푸핑된 패킷 플러드가 포함됩니다.
- 프로토콜 공격: 이러한 공격은 서버 프로토콜의 취약점을 악용하여 서버 리소스를 소비함으로써 서비스 거부를 유발하는 데 중점을 둡니다. 예로는 SYN 플러드, 조각난 패킷 공격, Ping of Death 등이 있습니다.
- 애플리케이션 계층 공격: 이러한 공격은 서버를 압도하기 위해 실제 요청을 모방하여 특정 애플리케이션 계층을 표적으로 삼습니다. 진품처럼 보이기 때문에 감지하기가 더 어렵습니다.
DDoS 공격의 증상에는 특정 엔드포인트에 대한 갑작스러운 요청 급증, 비정상적인 트래픽 급증, 웹 사이트 액세스 어려움, 파일 로딩 속도 저하, 서버 응답 없음, 단일 장치 유형, 지리적 위치 또는 브라우저 버전의 트래픽 과부하, 내부 서버 오류 등이 포함될 수 있습니다. — 모두 즉각적인 조사가 필요합니다.
공격을 차단하려면 다계층 접근 방식이 필요합니다. 네트워크 모니터링 및 트래픽 분석은 DDoS 공격의 신호일 수 있는 비정상적인 급증을 식별하는 데 도움이 됩니다. 속도 제한, IP 필터링 또는 지역 차단을 사용하면 의심스러운 트래픽을 차단하고 DDoS를 완화하는 데 도움이 될 수 있습니다.
5. 플러그인 & 테마 취약점 악용
플러그인과 테마는 CMS에 광범위한 이점을 제공할 수 있는 매우 강력한 구성 요소입니다. 그러나 소프트웨어에 보안 허점을 일으키는 취약점이나 버그가 있는 경우 해커는 이러한 결함을 악용하여 사이트를 감염시키거나 환경을 무단으로 제어할 수 있습니다.
공격자는 이러한 보안 허점을 이용하여 무단 액세스부터 웹사이트 훼손, 악성 스크립트 삽입, 전체 서버 제어까지 다양한 공격을 실행합니다.
Nulled 플러그인 및 테마(프리미엄 구성 요소의 불법 복제 버전)는 공격자가 불법 복제 소프트웨어에 악성 코드와 백도어를 삽입하는 경우가 많기 때문에 또 다른 악용 수단을 제공합니다. 제한 사항을 설정하거나 역할을 정의하는 과정을 감독하면 잠재적으로 사용자에게 필요 이상으로 더 많은 액세스 권한을 제공하여 안전하지 않은 권한을 악용할 수 있는 게이트웨이를 제공할 수도 있습니다.
자동화된 해킹 도구를 사용하면 해커가 오래된 소프트웨어가 포함된 웹사이트를 더욱 쉽게 식별하고 타겟팅할 수 있으며, 이는 위험을 완화하는 데 도움이 되는 정기적인 소프트웨어 업데이트의 중요성을 강조합니다. 멀웨어 및 웹사이트 백도어로부터 보호하려면 null이 포함된 플러그인이나 테마를 설치하지 마세요.
6. 무차별 대입 공격
이 게시물에 나열된 다른 많은 기술과 달리 무차별 대입 공격은 웹사이트 환경 내의 소프트웨어 취약점에 의존하지 않습니다. 대신, 무차별 대입 공격은 취약한 자격 증명과 취약한 비밀번호 보안을 이용해 웹사이트나 계정에 무단으로 액세스합니다.
무차별 대입 공격은 주로 웹사이트, 이메일, 서버 또는 비밀번호 인증이 필요한 보안 네트워크의 로그인 자격 증명을 대상으로 합니다.
무차별 공격의 일반적인 유형은 다음과 같습니다.
- 단순 무차별 대입 공격: 공격자는 가능한 모든 비밀번호 조합을 시도합니다. 이 방법은 시간이 많이 걸리고 상당한 계산 리소스를 사용합니다.
- 사전 공격: 공격자는 사전의 공통 기본 용어를 사용하여 이러한 기본 용어의 변형을 순차적으로 시도합니다. 이를 통해 사용자 경향 간의 균형을 이용하여 성공률을 높입니다. 일반적인 단어를 사용하고 비밀번호 복잡성 요구 사항을 충족해야 합니다.
- 하이브리드 무차별 대입 공격: 이 방법은 사전 공격과 무차별 대입 기술을 결합하여 더 복잡한 비밀번호를 추측합니다. 문자 수나 비밀번호 구성에 대한 기타 세부 정보와 같은 확실한 정보가 있으면 하이브리드 공격 속도를 크게 높일 수 있습니다.
- 크리덴셜 스터핑: 이 공격은 데이터 유출로 인해 유출된 사용자 이름과 비밀번호를 활용하여 로그인을 시도합니다. 이는 귀하의 데이터가 사이버 보안 위반에 연루된 경우 사용자 이름과 비밀번호를 업데이트하는 것이 중요하다는 점을 강조합니다.
무차별 공격은 취약한 비밀번호에 의존합니다. 강력한 비밀번호와 실패한 로그인 시도 제한 및 다단계 인증을 함께 사용하면 공격자가 웹사이트 사용자 인증 정보를 추측하기가 훨씬 더 어려워집니다.
7. 코드 삽입 공격
원격 코드 실행이라고도 하는 코드 주입에는 유해한 코드를 스크립트나 실행 파일에 삽입하는 작업이 포함됩니다. 해커는 먼저 코드 실행을 위해 신뢰할 수 없는 데이터를 허용하는 파일 업로드, 양식 필드 또는 쿠키와 같은 애플리케이션에서 공격 표면을 찾습니다. 침입된 코드는 공격자가 파일을 업로드 및 수정하고, CMS 사용자를 생성 또는 삭제하고, 심지어 모든 기능을 갖춘 웹 셸을 실행하는 데 도움이 될 수 있으므로 이 취약점은 백도어로 사용될 수 있습니다.
코드 주입 공격은 일반적으로 웹 애플리케이션의 코드 품질이 좋지 않아 발생합니다. 위험을 완화하려면 웹사이트 개발자는 보안 애플리케이션 개발을 위한 권장 지침을 준수해야 합니다. 웹사이트에 타사 소프트웨어를 사용하는 웹마스터는 해당 소프트웨어를 완전히 패치한 상태로 유지해야 합니다. 좋은 웹사이트 방화벽은 웹 애플리케이션에 원치 않는 코드를 삽입하려는 악의적인 요청을 차단하는 데도 도움이 될 수 있습니다.
8. DNS 스푸핑
DNS 캐시 중독이라고도 하는 DNS 스푸핑은 DNS 레코드를 조작하여 사용자의 예상 목적지를 미러링하는 사기성 악성 웹사이트로 사용자를 리디렉션하는 공격 기술입니다. 가짜 사이트에 접속하면 사용자는 자신도 모르게 합법적인 계정이라고 생각하는 계정에 로그인할 수 있으며, 이로 인해 공격자는 자격 증명과 민감한 정보에 접근할 수 있게 됩니다. 또한 사기성 웹 사이트는 사용자 장치에 웜이나 바이러스를 다운로드하고 설치하여 공격자가 사용자 데이터 및 장치에 지속적으로 액세스할 수 있도록 허용할 수 있습니다.
이 공격 모드는 DNS 및 관련 취약점을 악용합니다. 방법론은 다양할 수 있습니다. 공격자는 ARP(주소 확인 프로토콜)를 조작하여 라우터 트래픽에 액세스하고 도메인 이름 확인 레코드를 변경하거나, DNS 서버의 레코드를 수정하여 트래픽을 악성 사이트로 전환하거나, 중간 이름 서버의 캐싱 시스템을 조작하여 Man-in-the 공격을 조율할 수 있습니다. -중간(MITM) 공격.
DNS 스푸핑의 영향은 민감한 사용자 데이터를 훔치는 것부터 사용자 장치에 대한 지속적인 액세스 권한을 얻는 것까지 심각할 수 있으며, 드물게는 랜섬웨어로 이어질 수도 있습니다. 또한 해커는 유효한 사이트에서 공격자의 악의적인 제3자 사이트로 트래픽을 다시 라우팅함으로써 사이트의 권위와 검색 순위를 높이고 향후 악성 도메인으로 더 많은 트래픽을 유인할 수 있습니다.
9. 쿠키 도난
웹사이트 소유자와 사용자 모두에게 위협이 되는 쿠키 도난에는 해커가 사용자 컴퓨터에서 쿠키를 훔쳐 개인 데이터나 로그인 정보에 액세스하는 행위가 포함됩니다. . 쿠키는 웹사이트가 사용자를 기억하고 경험을 맞춤화하는 데 도움이 됩니다. 그러나 악의적인 행위자가 이를 악용할 경우 사용자 세션을 하이재킹하여 무단 사이트 액세스로 이어질 수 있습니다. 이는 세션 하이재킹의 일반적인 방법입니다.
쿠키 도난은 다음을 포함한 여러 소스에서 발생할 수 있습니다.
- 웹 기반: XSS 공격에서 볼 수 있듯이 악성 코드가 웹사이트에 삽입되어 사용자 브라우저에서 실행되면 개인 쿠키가 도난당할 수 있습니다.
- 클라이언트 측: 쿠키는 로컬 컴퓨터의 악성 코드에 의해 브라우저에서 도난당할 수 있습니다.
- MITM(중간자) 공격: 공격자는 사용자 브라우저와 사이트 간의 통신을 가로채 쿠키나 민감한 정보를 훔칩니다.
쿠키는 사용자 측에서 세션 데이터를 저장하는 가장 안전한 방법임에도 불구하고 WordPress가 사용자 로그인을 유지하기 위해 쿠키를 사용하므로 적절한 보호가 필요합니다. 사이트에 대한 안전한 SSL 암호화, 웹사이트 방화벽, 컴퓨터에 악성 코드가 없도록 유지하는 등 적절한 웹사이트 강화 및 보안 조치를 통해 쿠키 도난을 방지할 수 있습니다.
10. 클릭재킹
UI 교정 공격이라고도 알려진 클릭재킹은 사용자를 속여 예상치 못한 기능을 수행하는 링크나 버튼을 클릭하도록 하는 기술입니다. 여기에는 합법적인 웹사이트 위에 사기성 레이어를 오버레이하여 사용자가 자신도 모르게 숨겨진 요소와 상호 작용하도록 유도하는 것이 포함될 수 있습니다.
몇 가지 일반적인 클릭재킹 방법은 다음과 같습니다.
- 보이지 않는 iframe: 보이지 않는 iframe을 계층화하여 사용자가 악성 콘텐츠를 클릭하도록 유도합니다.
- 포인터 이벤트: 플로팅 div 태그는 대상 UI 요소를 덮어 기본 iframe에 대한 클릭을 속입니다.
- 투명 오버레이: 투명 프레임은 사이트 버튼이나 링크 위에 겹쳐서 의심하지 않는 사용자의 클릭을 가로채습니다.
사이트에서 한 번의 클릭과 관련된 모든 작업은 이론적으로 클릭재킹에 취약할 수 있습니다. 그러나 사이트에 X-Frame-Options 헤더를 추가하고 콘텐츠 보안을 설정하여 위험을 완화할 수 있습니다. 정책 및 웹 애플리케이션 방화벽 사용
11. 중간자 공격
MITM(Man in the Middle) 공격은 가해자가 로그인 자격 증명이나 신용 카드 번호와 같은 개인 정보를 훔치기 위해 사용자와 애플리케이션 간의 통신을 가로챌 때 발생합니다.
전자상거래 사이트는 종종 MITM 공격의 표적이 되며, 훔친 정보는 신원 도용, 자금 이체 또는 지능형 지속 위협(APT) 공격에 사용됩니다. MITM 공격은 우편배달부가 봉인된 은행 명세서에서 계좌 정보를 훔치는 것과 비슷합니다.
MITM 공격 실행에는 차단과 암호 해독의 두 단계가 포함됩니다.
차단은 악의적인 WiFi 핫스팟 생성을 통해 수동적으로 발생하거나 IP 스푸핑, ARP 스푸핑 또는 DNS 스푸핑과 같은 기술을 사용하여 적극적으로 발생할 수 있습니다. 이러한 방법은 사용자 데이터 이동을 잘못된 방향으로 유도하여 대신 공격자의 네트워크를 통해 전달합니다.
차단 후 공격자는 모든 SSL 트래픽을 해독해야 합니다. 여기에는 HTTPS 스푸핑, TLS 버전 1.0 취약점을 대상으로 하는 SSL BEAST, SSL 하이재킹 또는 SSL 스트리핑이 포함될 수 있으며, 각각은 사용자 세션 데이터를 가로채고 제어하고 해독하고 공개하도록 설계되었습니다.
해커로부터 사이트를 보호하는 단계
해커의 작동 방식을 알면 공격으로부터 사이트를 더 잘 보호할 수 있습니다. 해킹으로부터 웹사이트와 서버 환경을 보호하기 위한 몇 가지 기본 단계를 검토해 보겠습니다.
- 웹사이트 소프트웨어를 정기적으로 패치하고 업데이트하세요. 모든 웹사이트 소프트웨어, 핵심 CMS, 플러그인 및 테마가 최신 상태인지 확인하세요. 해커는 오래된 소프트웨어의 알려진 취약점을 악용하는 경우가 많습니다.
- 모든 계정에 강력한 비밀번호를 유지하세요. 강력하고 복잡한 비밀번호를 사용하고 자격 증명이 고유한지 확인하여 측면 이동 및 크리덴셜 스터핑 공격을 방지하세요.
- 관리 패널과 로그인 페이지에서 로그인 시도를 제한하세요. 이렇게 하면 계정에 대한 무차별 공격을 방지하는 데 도움이 됩니다.
- 사이트에 SSL 인증서를 설정하세요. 모든 작업에 항상 안전하고 암호화된 연결(HTTPS)을 사용하세요.
- 정기적인 웹사이트 백업 일정을 설정하세요. 웹사이트를 정기적으로 백업하면 사이트 손상이나 문제로부터 더 쉽게 복구할 수 있습니다.
- 2단계 인증을 구현합니다. 다단계 인증은 계정에 대한 무단 액세스를 방지하기 위해 추가 보안 계층을 추가합니다.
- 웹사이트 및 서버 트래픽을 모니터링합니다. 트래픽을 정기적으로 모니터링하면 DDoS 공격이나 침해 징후를 나타낼 수 있는 비정상적인 급증을 신속하게 식별하는 데 도움이 될 수 있습니다.
- 웹사이트와 서버에 악성 코드가 있는지 검사하세요. 웹사이트 환경에서 악성 코드와 비정상적인 활동이 있는지 정기적으로 검사하세요. 발생하는 위협에 신속하게 대응하세요.
- 안전하고 안정적인 DNS 서버를 사용하세요. DNS 레코드를 정기적으로 모니터링하면 무단 변경 사항을 조기에 발견하는 데 도움이 됩니다.
- 웹사이트에 대한 파일 업로드를 제한하세요. 파일 업로드는 해커가 악성 스크립트를 유입시키는 통로가 될 수 있으므로 제한하고 보안을 유지하세요.
- 콘텐츠 보안 정책(CSP)을 설정하세요. CSP는 크로스 사이트 스크립팅 및 클릭재킹 공격을 방지하는 데 도움이 됩니다.
- 웹사이트 방화벽을 확보하세요. 웹 애플리케이션 방화벽(WAF)을 사용하면 알려진 소프트웨어 취약점에 대한 패치를 적용하고 악성 트래픽이 웹사이트와 서버에 도달하기 전에 필터링할 수 있습니다.