본문 바로가기

해킹&보안/웹 & 앱

웹 애플리케이션 모의해킹

웹 애플리케이션 모의해킹 개념

  • 모의해킹(Penetration Testing): 해커가 시스템에 침투하려고 시도하는 것을 시뮬레이션하고, 그 결과로 발견된 취약점을 해결합니다.
  • 격 기법 이해: 모의해킹은 다양한 공격 기법을 이해하고 시험하는 것을 포함합니다. 이는 SQL Injection, Cross-Site Scripting(XSS), Cross-Site Request Forgery(CSRF), 인증 및 세션 관련 취약점 등을 포함합니다.
  • 보안 취약점 분석: 웹 애플리케이션 모의해킹은 애플리케이션의 코드와 구조를 분석하여 잠재적인 보안 취약점을 식별합니다. 이러한 분석은 코드 검사, 프록시 사용, 스캐닝 도구 사용 등을 포함할 수 있습니다.
  • 해킹 시뮬레이션: 실제 해킹 시나리오를 시뮬레이션하여 애플리케이션의 보안 강도를 확인합니다. 이는 해커의 시각에서 시스템을 평가하는 것을 의미합니다.
  • 취약점 보고서 작성: 모의해킹 작업 후에는 취약점 보고서를 작성하여 발견된 취약점을 문서화하고 개선을 위한 권장 사항을 제시합니다.

 

모의해킹 목적

1. 보안 강화 (Security Strengthening): 모의해킹을 통해 시스템의 취약점을 식별하고 이를 보완함으로써 
   전체적인 보안을 강화. 발견된 취약점을 해결하고 보안 정책 및 절차를 개선하여 미래의 공격에 대비 가능

2. 위험 평가 (Risk Assessment): 시스템에 대한 모의해킹을 통해 실제 공격 시나리오를 시뮬레이션하여 
   조직이 직면할 수 있는 위험을 평가. 이를 통해 보안 우선 순위를 설정하고 자원을 효율적으로 할당 가능

3. 훈련 및 교육 (Training and Education): 모의해킹은 보안 전문가 및 IT 직원들에게 실제 공격에 대처하는 데 
   필요한 기술과 경험을 제공. 이를 통해 보안 인력들의 역량을 향상시키고 실전 경험을 쌓을 수 있음.

4. 규정 준수 (Regulatory Compliance): 많은 산업 분야에서는 보안 규정 및 준수 요구 사항을 준수. 
   모의해킹은 규정 준수를 평가하고 보안 정책을 강화하여 이러한 규정을 준수하는 데 도움이 됨.

5. 신뢰 구축 (Building Trust): 고객, 파트너 및 이해관계자들에게 시스템의 안전성과 보안에 대한 
   신뢰를 구축하기 위해 모의해킹은 유용한 도구. 실제 공격에 대처할 수 있는 능력을 갖춤을 증명

 

 

의해킹 수행 표준(PTES)

(PTES :  모의해킹을 체계화된 방법으로 수행하기 위해 만든 표준으로 7단계로 구성됨)

대상 선정

모의해킹 수행 전에 고객과 진단 대상을 협의하는 과정.
정보 수집 모의해킹을 수행하기 위한 진단 대상의 최대한 많은 정보를 수집.
위협 모델링 조직의 내/외부적인 위협을 목록화
취약점 분석 내부 시스템 침투를 수행하기 위해 자체 취약점을 분석하는 과정.
공격 취약점을 이용해 내부 시스템 침투가 가능하다는 것을 증명, 공격 대상 시스템 침투 공격.
후속 공격 공격 성공한 후 수행하는 공격, 시스템 점령 후 공격자가 원하는 정보를 획득하려고 시도하는 과정.
결과 보고 최종 보고서 작성 및 대응책 제시

 

 

침투 테스트 종류

  • 블랙박스 테스트: 이 방법은 소프트웨어를 검증하는 데 내부 동작 및 내부 구조에 대한 지식 없이 기능적인 측면에만 초점을 맞춥니다. 테스트는 입력과 출력 사이의 관계를 테스트하여 예상대로 기능하는지 확인합니다. 사용자 관점에서 시스템이 어떻게 동작하는지 확인하는 데 주로 사용됩니다.
  • 화이트박스 테스트: 이는 소프트웨어의 내부 동작과 구조를 이해하고 검증하는 데 중점을 둡니다. 코드의 논리적인 경로, 조건문, 루프 등을 테스트하며 코드의 모든 분기를 확인하여 코드 커버리지를 높이려고 합니다.
  • 화이트박스 테스트: 이는 소프트웨어의 내부 동작과 구조를 이해하고 검증하는 데 중점을 둡니다. 코드의 논리적인 경로, 조건문, 루프 등을 테스트하며 코드의 모든 분기를 확인하여 코드 커버리지를 높이려고 합니다.

 

모의해킹 vs 취약점 진단

모의해킹이랑 취약점 진단은 비슷해보여서 같은 의미로 생각 하다가 확실하게 알고 싶어서 찾아보았습니다.

취약점 진단(Vulnerability Assessment): 시스템의 취약점을 식별하고 평가하는 프로세스

목적: 취약점 진단은 시스템이나 네트워크에서 발견된 보안 취약점을 식별하고 평가하는 프로세스입니다. 
         이는 일종의 '상태 확인' 과정으로 볼 수 있습니다.
방법: 보통 자동화된 스캐닝 도구를 사용하여 시스템 또는 네트워크를 검사하고 취약점을 찾습니다. 
         이러한 도구는 취약점 데이터베이스와 비교하여 발견된 취약점의 심각성을 판단합니다.
         그러나 이러한 방법은 실제로 공격을 시도하지 않으며, 취약점을 악용하지 않습니다.
모의해킹(Penetration Testing): 취약점을 악용하여 시스템에 침투하는 것을 시뮬레이션

목적: 모의해킹은 시스템 또는 네트워크의 보안을 평가하기 위해 공격자의 관점에서 시스템에 침투하는 것을 시뮬레이션하                 는 프로세스입니다. 이는 '공격 시나리오'를 통해 시스템의 보안 강점을 확인하기 위한 것입니다.
방법: 허가된 해커 또는 보안 전문가가 실제 공격을 시뮬레이션하여 시스템의 취약점을 발견하고 이를 악용하여 시스템에 침투           합니다. 이것은 보다 현실적인 공격을 시뮬레이션하므로, 취약점 진단보다 더 깊은 수준의 정보를 제공할 수 있습니다.

 

'해킹&보안 > 웹 & 앱' 카테고리의 다른 글

SQL Injection  (0) 2024.08.02
OWASP TOP 10  (0) 2024.07.31
XSS  (0) 2024.07.31
쿠키&세션  (0) 2024.07.30
취약점 (vulnerability)  (0) 2024.05.27