- [ 웹애플리케이션 해킹/OWASP Top 10:2021 ]A10:2021-Server-Side Request Forgery2023-08-31 22:08:02소개 본 취약점은 악의적인 사용자가 웹 어플리케이션 서버에서 특정 서버 또는 서비스에 요청을 보낼 수 있게 합니다. 이러한 요청은 서버 내부에서 실행되는 다른 서비스나 데이터베이스에 접근하는 데 사용될 수 있으며, 이를 통해 공격자는 서버를 제어하거나 민감한 정보를 유출시킬 수 있습니다. 취약점의 원인은 입력값 검증 또는 인증 부재로 일반적으로, 악의적인 사용자는 요청에서 사용할 URL을 조작하여 서버에 대한 접근 권한을 부여하는 방식으로 취약점을 이용합니다. 예를 들어, 사용자의 프로필 사진을 가져오는 기능을 가진 웹 어플리케이션이 있다고 가정해보겠습니다. 이 기능은 사용자가 업로드한 이미지를 가져오기 위해 사용자가 입력한 URL을 사용합니다. 그러나 이 입력값을 검증하지 않는다면, 악의적인 사용자는 ..
- [ 웹애플리케이션 해킹/OWASP Top 10:2021 ]A09:2021-Security Logging and Monitoring Failures2023-08-31 19:30:17소개 본 취약점은 시스템의 이벤트, 상태, 행동 등을 수집하고 분석하여 보안 상태를 파악하는 것이 중요하다는 것을 강조하는 취약점입니다. 이 취약점은 보안 로그 및 모니터링 시스템에 대한 부적절한 구성 또는 누락으로 인해 발생할 수 있습니다. 주요 예시로는 로그 수집이 충분하지 않은 경우, 로그 데이터가 누락되거나 왜곡되는 경우, 로그 데이터를 적절히 분석하지 않는 경우 등이 있습니다. 이러한 경우 공격자가 시스템의 보안 상태를 파악하고 공격을 수행할 수 있으며, 이를 방지하기 위해 적절한 보안 로깅 및 모니터링 시스템을 구축하고 관리해야 합니다. 따라서 보안 로그 및 모니터링 시스템을 구성하고 유지 관리하는 방법을 파악하고, 로그 데이터를 수집하고 분석하여 이상 징후를 탐지하고 적절한 대응을 수행하는 ..
- [ 웹애플리케이션 해킹/OWASP Top 10:2021 ]A08:2021-Software and Data Integrity Failures2023-08-31 18:06:28소개 본 취약점은 소프트웨어 및 데이터 무결성 위반과 관련된 취약점을 의미합니다. 이 취약점은 다양한 형태로 나타날 수 있으며, 소프트웨어 개발 및 운영 단계에서 발생할 수 있습니다. 이러한 취약점을 방지하기 위해서는 적극적인 보안 대책이 필요합니다. 보안성이 높은 알고리즘 사용, 데이터 무결성 검증 절차 수립, 중복 데이터 제거 등의 방법을 통해 취약점을 예방하고 대응할 수 있습니다. 또한, 취약점 취약한 예 데이터 무결성 검증 부재: 사용자로부터 입력받은 데이터가 예상된 형식과 일치하지 않거나 유효하지 않은 경우, 악성 사용자가 해당 입력을 이용하여 시스템을 공격할 수 있습니다. 따라서, 데이터의 무결성을 검증하는 검증 절차가 필요합니다. 보안성이 낮은 알고리즘 사용: 보안성이 낮은 암호화 알고리즘을..
- [ 웹애플리케이션 해킹/OWASP Top 10:2021 ]A07:2021-Identification and Authentication Failures2023-08-30 22:30:47소개 본 취약점은 사용자 인증 및 권한 부여를 관리하는 기능에서 발생할 수 있는 취약점을 나타냅니다. 이 취약점은 인증 및 권한 부여 프로세스의 부적절한 구현으로 인해 발생할 수 있으며, 인증 정보 노출, 인증 우회, 권한 상승 등의 공격을 유발할 수 있습니다. 이러한 취약점을 방지하기 위해서는 적절한 인증 방법을 선택하고, 강력한 암호화 및 다단계 인증 등의 추가 보호 기능을 활용하여 인증의 안전성을 높입니다. 또한 인증 정보를 안전하게 저장하고 제한적으로 공유하여 비밀번호 등의 중요 정보가 외부에 노출되지 않도록 철저하게 관리하고 인증 정보의 갱신을 주기적으로 수행하고, 만료된 인증 정보는 즉시 폐기하거나 갱신합니다. 취약한 예 암호화되지 않은 인증 정보 저장: 사용자의 인증 정보(아이디, 비밀번호)..
- [ 웹애플리케이션 해킹/OWASP Top 10:2021 ]A06:2021-Vulnerable and Outdated Components2023-08-30 20:59:02소개 본 취약점은 소프트웨어 개발 시 사용된 구성 요소(라이브러리, 프레임워크 등)가 취약점이 발견되어 있거나 최신 버전이 아닌 경우 발생할 수 있습니다. 이러한 취약점은 공격자가 취약점을 이용하여 시스템에 대한 악의적인 행위를 수행할 수 있습니다. 예를 들어, 개발자가 오픈 소스 라이브러리를 사용하여 웹 애플리케이션을 개발하는 경우 해당 라이브러리에 취약점이 발견되었을 수 있습니다. 이 경우 해당 라이브러리를 업데이트하여 취약점을 해결하거나 대체할 수 있습니다. 그러나 업데이트하지 않고 사용하면 공격자가 해당 취약점을 이용하여 시스템에 침입할 수 있습니다. 또 다른 예로, 서버 운영자가 운영체제나 웹 서버 소프트웨어를 최신 버전으로 업데이트하지 않은 경우 해당 소프트웨어에 이미 알려진 취약점이 있을 수..
- [ 웹애플리케이션 해킹/OWASP Top 10:2021 ]A04:2021-Insecure Design2023-08-28 22:05:39소개 본 취약점은 시스템 설계나 구현 과정에서 보안 고려가 부족하여 발생하는 취약점으로 2021년도에 새롭게 추가된 보안 문제입니다. 이러한 문제는 시스템 설계나 구현 단계에서 보안 고려를 하지 않고 기능 구현에만 집중하는 경우, 시스템의 보안성이 크게 저하될 수 있습니다. 소프트웨어의 보안성을 확보하기 위해서는 소프트웨어 개발 생명주기(SDLC)의 설계 단계에서부터 보안을 고려되어야 합니다. 이러한 취약점은 다양한 형태로 나타날 수 있습니다. 이러한 취약점을 방지하기 위해서는 보안 아키텍처 설계, 접근 제어 설정, 인증 및 인가 설정 등을 수행해야 합니다.또한, 보안 업데이트 및 정기적인 감사를 수행하여 취약점을 최소화해야 합니다. 취약한 예 비밀번호 보안 정책 부재 : 암호화되지 않은 비밀번호를 저장..
- [ 웹애플리케이션 해킹/OWASP Top 10:2021 ]A03:2021-Injection2023-08-28 19:55:30소개 사용자 입력값이나 외부에서 입력된 데이터를 검증 없이 실행하는 경우 발생할 수 있는 취약점을 의미합니다. 이러한 취약점은 악의적인 사용자가 애플리케이션에 악의적인 코드를 삽입하거나, 데이터베이스에 접근하거나, 시스템을 제어할 수 있는 등의 위험을 초래할 수 있습니다. 주요한 Injection 공격 유형으로는 SQL Injection, NoSQL Injection, OS Command Injection, XML Injection, LDAP Injection, 등이 있습니다. 예를 들어, SQL Injection 취약점은 데이터베이스에 SQL 쿼리를 전달할 때, 악의적인 사용자가 입력값에 SQL 문법을 삽입하여 데이터베이스를 조작하는 공격입니다. 이를 통해 데이터베이스의 기밀성, 무결성, 가용성을 침해..
- [ 웹애플리케이션 해킹/OWASP Top 10:2021 ]A02:2021-Cryptographic Failures2023-08-27 15:51:08소개 본 취약점은 암호화와 관련된 전반적인 취약점을 다루는 카테고리로 암호화 알고리즘 자체에 취약점이 있는 경우, 암호화된 데이터를 쉽게 해독할 수 있습니다. 또한, 충분히 강력하지 않은 키를 사용하거나 키를 안전하게 저장하지 않는 경우, 암호화된 데이터를 해독할 수 있습니다. 인증서를 관리할 때도 취약점이 발생할 수 있습니다. 잘못된 인증서를 사용하거나 인증서를 안전하게 관리하지 않으면, 암호화된 데이터의 안전성이 보장되지 않습니다. 그 외에도, 무작위 수 생성에 사용되는 알고리즘이 예측 가능한 경우, 암호화된 데이터를 해독할 수 있습니다. 또한, 충분한 길이와 복잡도를 갖춘 안전한 비밀번호를 사용하지 않거나, 공격자가 쉽게 추측할 수 있는 비밀번호를 사용하는 경우에도 데이터를 해독할 수 있습니다. 이..
- [ 웹애플리케이션 해킹/OWASP Top 10:2021 ]A01:2021-Broken Access Control2023-08-27 12:49:54소개 본 취약점은 액세스 제어에 실패하여 인가되지 않은 사용자가 액세스하거나, 허용되지 않은 기능을 사용할 수 있는 취약점입니다. 예를 들어, 권한 없이 다른 사용자의 데이터를 볼 수 있는 경우, 관리자 권한을 가지지 않은 사용자가 시스템을 관리할 수 있는 경우 등이 있습니다. 일반적으로 웹애플리케이션에서는 관리자가 존재하고 관리자 페이지를 통해 사용자의 액세스 제어 규칙을 정의하고 부여 합니다. 보편적으로 액세스 제어 이슈가 발생하게 되면 심각한 취약성을 나타내는 경우가 많습니다. 액세스 제어 유형 보편적으로 사용자 관점에서 액세스 제어는 세 가지 통제 유형으로 분류할 수 있습니다. 수평적 액세스 제어(Horizontal Access Control): 같은 계층의 사용자들이 동일한 권한을 갖도록 하여 ..
- [ 웹애플리케이션 해킹/OWASP Top 10:2021 ]OWASP Top 10:2021 소개2023-08-27 08:48:20OWASP Top 10은 웹 어플리케이션 보안 취약점 중 가장 많이 발생하는 10가지 취약점을 나열한 보안 취약점 목록입니다. 이 목록은 Open Web Application Security Project(OWASP)에서 4년 주기로 업데이트되며, 현재 최신 버전은 2021년에 발표되었습니다. OWASP Top 10 2021 리스트는 아래와 같습니다. A01: Broken Access Control (액세스 제어 취약점) 인가되지 않은 사용자가 액세스하거나, 허용되지 않은 기능에 액세스하는 취약점. A02: Cryptographic Failures (암호화 취약점) 암호화 관련 결함, 암호화 알고리즘 선택, 구현 문제 등으로 인해 발생하는 취약점. A03: Injection (인젝션) 악의적인 입력값이 ..