일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- protection
- 유니티
- Waterfall
- Unity #Indie Game
- MAC
- OWASP
- 배경 그림
- 게임 개발
- 게임개발
- stride
- AINCAA
- STCF
- MLFQ
- Trap
- SDLC
- DSP
- 컴퓨터 네트워크
- information hiding
- polymorphism
- 운영체제
- SJF
- unity
- OSI 7계층
- 유스케이스
- DP
- 메카님
- Security
- FIFO
- frequency-domain spectrum analysis
- link layer
- Today
- Total
다양한 기록
OWASP top 10 (2021) 본문
A01~09만 다룸
A01: Broken Access Control
사용자가 자신한테 주어진 권한보다 더 많은 걸 사용하게 됨
1. URL, 내부 응용 프로그램 상태, HTML 페이지, API 리퀘스트 등 변조
HTTP 요청은 GET, POST 두 방식을 이용함
참고 자료)
https://lagooneng.tistory.com/93
GET 방식은 URL에 값을 붙여서 전송하게 되는데, 이 경우 위험함
또한, 웹 프록시에서 값을 조작하는 것도 가능함
2. 권한 상승
로그인하지 않고 사용자처럼 행동하는 것도 가능, 혹은 관리자로 행동 가능
루트의 패스워드가 노출되면 su 명령으로 루트로 행동 가능
A02: Cryptographic Failues
네트워크로 전송되거나, DB에 저장되는 등의 데이터는 안전한 암호화 알고리즘으로 보호될 필요가 있음
DES말고 AES 쓰기, MD-5말고 SHA-256 쓰기 등 ..
A03: Injection
SQL injection같이 처음엔 DB와 관련이 많았는데,
최근에 OS 커맨드 인젝션 공격도 많아짐
XXS도 Injection에 포함됨
소스코드 검토를 해야 함(포티파이, 스패로우) -> 파라미터, 헤더, url, 쿠키, json 등을 체크
기관은 static(SAST), dynamic(DAST), interactive(IAST) application security testing tools를
CI/CD 파이프라인에서 사용해서 injection 결함이 있는지 체크할 수 있음
웹쪽은 Spike, Wfuzz, Spotbugs 같은 도구를 사용
** CI/CD = continuous Integration / Continuous Deployment .. 지속적 통합, 지속적 배포
Seeker(테스트 도구)는 Log4Shell의 취약성을 감지하고, Log4j가 어떻게 구성되었는지 확인 및 테스트 가능
A04: Insecure Design
보통 설계, 구현단계에서 약점이 발생
예시) 영화관 체인점 예약 시스템 .. 한 사람이 엄청 많이 예약해두고 펑크내는 걸 허용하면 설계 오류임
그래서 설계를 잘 하려면 어떻게 해야 하는가
SDLC를 안전하게 만들고, 안전한 디자인 패턴 적용
안전한 라이브러리, Threat Modeling (마이크로소프트 .. 어떤 컴포넌트가 필요하고 할 수 있는 건 무엇인가 분석)
그리고 SDLC 기준 플랜 단계에서부터 신경쓰는게 좋음
Shift Left: SDLC의 왼쪽 단계에서부터 보안에 신경써라
A05: Security Misconfiguration
구성 요소, 세팅을 잘못할 때 생기는 보안 문제
SDLC에서 오른쪽 단계에서 불필요한 기능은 삭제하는게 좋음
ex) 만약 ftp 포트를 안쓴다 -> 해당 포트는 닫는게 좋음
ex) icmp 프로토콜 포트 열어놓으면 디도스 가능
ex) XXS 때문에 게시판에 스크립트 올리는 기능은 제거해야 보안적으로 안전함
ex) 불필요한 페이지(광고)도 가능한 없애는 게 좋음
ex) http 80포트 말고 다른 걸 쓰는게 좋음
ex) 디폴트 어카운트 (루트, dbms, ip카메라, ap 등).. 바로 패스워드를 바꿔야 함
A06: Vulnerable and outdated components
취약한, 낡은 컴포넌트 사용
업데이트 안되면 문제가 됨
A07: Identification and Authentication Failures
브루트 포스를 허용하면 안됨
잘 알려진 패스워드를 쓰는 것도 위험(Password1, admin)
A08: Software and Data Integrity Failures
끊임없이 빌드, 배포되는 상황에서 업데이트 시 무결성 검증을 안하면 문제가 됨
CI 시 검증이 된 컴포넌트인지 확인 필요
동기화하지 않으면 무결성이 보장되지 않음
A09: Security Logging and Monitoring Failures
로깅 실수
모든 OS, DB는 로깅을 충분히 해야 함
로그가 로컬에만 저장되어도 문제- 백업을 최소 두세곳에 해야 함
공격을 받을 수도 있고 자연재해 때문
'보안개론' 카테고리의 다른 글
PT, BBP (0) | 2024.06.08 |
---|---|
Security Testing (0) | 2024.06.08 |
취약한 언어 / SDLC / 범위를 벗어난 쓰기 / 완화 방법 등 (0) | 2024.06.07 |
Byte Ordering, Simple Buffer Overflow (0) | 2024.06.04 |
Array Operations (0) | 2024.06.04 |