반응형

'2025/02'에 해당되는 글 2건

반응형
반응형

 

[그림 1-1] DVIA_v2 앱

DVIA_v2 앱을 실행시킨 후 [Application Patching]을 클릭해 3번째 Show Alert를 클릭하면 경고메시지로 I love Google이 출력되는데 이 경고창 메시지 변조를 시도하기 위해 패칭을 한다.

 

[그림 1-2] DVIA-v2 앱 파일

3utools를 활용해서 DVIA-v2 앱 파일을 바탕화면으로 추출한다.

 

[그림 1-3] HXD

HXD를 실행하고 추출한 DVIA-v2 앱 파일을 업로드한다.

 

[그림 1-4] 경고 메시지 검색

ctrl+f 버튼을 눌러 찾기를 실행한 후 경고 메시지인 i love를 검색한다.

 

[그림 1-5] 경고 메시지 변조

검색한 후 경고 메시지를 변조한다. 여기선 I love Apple로 변조했다.

 

[그림 1-6] 변조된 파일 복사

변조한 파일을 저장한 후 3utools를 실행시켜 기존에 있던 파일에 덮어쓴다.

 

[그림 1-7] 경고 메시지 변조

DVIA_v2 앱을 실행시킨 후 [Application Patching]을 클릭해 3번째 Show Alert를 클릭하면 경고메시지로 I love Apple.이 출력 됨을 확인할 수 있다. 이로써 앱이 변조되었음을 알 수 있다.

반응형
블로그 이미지

만년필석사

,

OWASP TOP 10(2021)

웹해킹 2025. 2. 19. 20:17
반응형

2021년 9월 24일에 발표한 ‘OWASP Top 10 – 2021’에는 신규 3개 항목이 추가됐으며, 기존 3개 항목은 다른 항목에 병합되는 등 새롭게 개정된 내용이 있음.

 

[OWASP TOP 10(2021) 항목]

A01: Broken Access Control(접근 통제 권한 취약점)

  • 접근 제어가 취약하면 사용자는 주어진 권한을 벗어나 데이터를 무단으로 열람하거나 수정, 삭제 등의 행위가 가능하게 됨
  • 대표적으로 클라이언트, 서버 단에서의 매개변수 값 변조에 의해 접근 권한을 벗어날 수 있게 되며 타 사용자의 데이터 무단 열람, 수정, 삭제 등이 가능해짐
  • 메소드(post, get, delete 등)이 API 요청에 대한 접근 제어가 누락된 경우도 있음

A02: Crytograthic Failures(암호화 오류)

  • Sensitive Data Exposure(민감 데이터 노출)의 명칭이 2021년에 암호화 오류로 변경됨.
  • 적절한 암호화가 되어 있지 않으면 민감한 데이터가 노출될 수 있음.
  • 예를 들어 SSL 프로토콜 미적용으로 인한 평문 노출, 클라이언트에서 마스킹 처리 되어 있지만 응답값 내에선 중요 정보 등이 평문으로 노출 되는 등이 있음.

A03: Injection(인젝션)

  • 2013년도 부터 계속 1위를 차지했지만 2021년에는 3위가 됨
  • SQL, NoSQL, OS, LDAP, EL, OGNL 등의 인젝션 취약점은 신뢰할 수 없는 데이터 명령어나 조작된 쿼리문을 통해 서버로 전송될 때 취약점이 발생함
  • 대표적으론 SQL Injection이 있지만 종류가 다양하며 최근엔 프레임워크에도 SQL 인젝션 방어가 다 되어 있지만 옛날 서버에선 종종 Injection 취약점이 발생되는 곳이 있기 때문에 알아두는게 좋음.
  • XSS 공격도 2021년엔 인젝션 항목에 포함되었으며 사용자 제공 데이터 조작 공격은 모두 인젝션 항목으로 통일됨.

A04: Insecure Design(안전하지 않은 설계)

  • 2021년에 새로 신설된 항목으로 코드 구현 단계에 앞서 기획과 설계 단계에서 발생하는 보안 결함을 의미함
  • 개발을 완료한 후에 소스 코드를 수정해도 보안 결함을 완벽하게 방어하는덴 한계가 존재함
  • 소프트웨어 개발보안 방법론은 총 5가지의 단계가 존재함

A05: Security Misconfiguration(보안 설정 오류)

  • 보안 설정 오류는 애플리케이션을 최초 설치하거나 업데이트 시 보안성을 고려하지 않은 설정으로 인해 취약점이 발생함
  • XXE 항목은 애플리케이션의 잘못된 보안 설정으로 인해 발생하는 취약점 중 하나로 2021년엔 보안 설정 오류 항목에 병합됨.
  • 대표적으로 불필요 포트, 불필요한 페이지, 계정 등이 노출되는 취약점이 있으며 그 외에도 관리자 계정(ID/Password)을 디폴트로 사용하거나 에러 정보 노출, 보안 헤더 설정 누락 등이 있음.

A06: Vulnerable and Outdated Components(취약하고 지원이 종료된 구성 요소)

  • 2021년에 새롭게 생긴 항목이며 취약하고 지원이 종료된 구성요소, 취약한 버전, 소프트웨어 기술 중단 상태인 소프트웨어를 계속 사용하는 경우 그로 인해 발생할 수 있는 모든 보안 위협을 포함하고 있는 항목임.
  • 서비스 구성 모든 요소(OS, WEB/WAS, DB, 어플리케이션 등)이 모두 이 항목에 해당됨
  • 대표적으론 지원 종료된 OS 사용, 알려진 취약점이 존재하는 버전의 애플리케이션 사용(Apache, tomcat, nginx 등), 프레임워크 사용(Apache Struts 2, Spring 등), 라이브러리 사용(OpenSSL 등)이 있음
  • 최신 버전을 잘 탐색해서 업데이트 하는 것이 중요함

A07: Idetification and Authentication Failures(식별 및 인증 실패)

  • 2021년 개정으로 취약한 인증(Broken Authentication) 항목에 식별 실패를 포함 시켜서 조금 더 넓은 의미로 식별 및 인증 실패(Idetification and Authentication Failures) 항목으로 변경됨
  • 사용자 신원 확인이나 인증 및 세션 관리에 해당하는 항목이며 여전히 많이 발생되는 취약점임.
  • 대표적으론 멀티팩터인증, 비밀번호정책, 인증 실패 제한 부재로 Brute Force 공격이 가능한 것과 Get 메소드로 전송 시 URL에 인증 세션 ID가 노출되는 경우, 세션 타임 아웃이 없는 경우가 있음.

A08: Software and Data Integrity Failures(소프트웨어 및 데이터 무결성 오류)

  • 2021년에 신설된 항목으로 기존에 안전하지 않는 역직렬화(Insecure deserialization) 항목이 병합됨.
  • 애플리케이션이 신뢰할 수 없는 소스, 저장소 CDN, 플러그인, 라이브러리, 모듈에 의존하는 경우에 발생됨
  • 안전하지 않은 CI/CD 파이프라인은 개발 및 배포 과정에서 애플리케이션이 변조되면 무결성이 훼손될 가능성이 있어 애플리케이션이 사용하는 코드에 대한 무결성 검증 절차 추가가 필요함
  • 대표적으로 라이브러리나 모듈에 대한 무결성 검증이 없어 변조가 가능하거나 업데이트 공급망에 검증이 없는 경우, 직렬화된 데이터에 대한 무결성 검증이 없는 경우 등이 있음.

A09: Security Logging and Monitoring Failures(보안 로깅 및 모니터링 오류)

  • 기존 2017년엔 불충분한 로깅 및 모니터링(Insufficient Logging & Monitoring) 항목이었으나 이번 2021년 개정에서 보안 로깅 및 모니터링 실패(Security Logging and Monitoring Failures) 항목으로 변경됨
  • 적절한 로깅과 모니터링이 있어야 대응이 가능하며 취약점 공격 예방 뿐 아니라 공격 발생 감지 및 대응까지 포함 되어야 하는 걸로 개정됨.
  • 대표적으로 로그인, 인증 실패, 권한설정 등에 중요 기능 수행에 대한 로깅이 없거나 일정 주기로 로그에 대한 백업이 없는 경우, 불명확한 로깅 및 모니터링을 하는 경우가 있다. 이러한 경우를 예방하기 위해선 침해 사고 대응 절차의 대한 복구 계획 수립이 있음.

A10: Server-Side Request Forgery(SSRF, 서버 측 요청 변조)

  • 2021년에 신설된 항목으로 애플리케이션이 사용자 제공 데이터를 적절한 검증 없이 로컬 및 원격 리소스를 가져와 취약점을 발생시킴.
  • 서버 측에 있는 값을 조작해서 공격한다는 특징을 가지고 있으며 서버 권한에 대한 신뢰 관계를 이용해 공격함.
  • 대표적으로 서버가 적절한 검증 절차 없이 사용자 요청을 신뢰하여 로컬이나 원격 리소스 데이터에 접근하도록 하는 경우가 있음.
  • 모든 사용자 요청에 대해 검증을 할 필요가 있으며 내부 네트워크끼리 통신할 때도 방화벽에 접근 제어 규칙 패턴을 생성해 모니터링 하는 것이 좋음.
반응형
블로그 이미지

만년필석사

,