본문 바로가기

카테고리 없음

CWE : SANS 연구소에서 발표한 25대 소프트웨어 주요 취약점

원본 https://www.sans.org/top25-software-errors
관련 기사 https://www.kiuwan.com/blog/sans-institute-top-25-software-errors/

CWE : SANS TOP 25 Most Dangerous Software Errors
CWE : SANS 연구소에서 발표한 25대 위험한 소프트웨어 주요 취약점




그렇다면
CWE(Common Weakness Enumeration)는 뭐죠?
'일반적으로 통용되는 주요 취약점'입니다.
소프트웨어 개발과정에서 빈번하게 발생하는 치명적인 취약점들의 정리 리스트라고 할 수 있겠습니다.
여기서 약점과 취약점은 뭐가 다른가? 링크에 자세히 나와 있지만,
약점은 알려지지 않은 허점이고, 취약점은 알려진 허점이라고 알아두면 될 것 같습니다.




SANS 연구소는 뭐하는 곳인가요?
보안을 교육하는 미국의 비영리 연구 교육기관. 엄청 크고 유명합니다.
자타가 공인하는 최고 보안 비영리 단체라고 하네요.




그럼 SANS에서 선정한 보안 이슈는 엄청 중요하겠습니다?
네 그렇습니다.




대충 뭔지 하나씩 봅시다.


10위까지만 흝어볼게요. 다음에 보충할수도, 귀찮을수도 있겠죠.




첫번째는 버퍼 메모리 할당 실수네요
https://cwe.mitre.org/data/definitions/119.html


두번째는 크로스 사이트 스크립팅입니다
https://cwe.mitre.org/data/definitions/79.html


세번째는 인풋값 검사 부실
https://cwe.mitre.org/data/definitions/20.html


네번째는 권한 없는 사람한테 정보 보여주는거
https://cwe.mitre.org/data/definitions/200.html


다섯번째는 아오바 Out of Bounds
https://cwe.mitre.org/data/definitions/125.html


여섯번째는 SQL 인젝션
https://cwe.mitre.org/data/definitions/89.html


일곱번째는 USE AFTER FREE. 이건 설명이 자세한 곳을 링크할게요
https://cwe.mitre.org/data/definitions/416.html


여덟번째는 인티저 오버플로우
https://cwe.mitre.org/data/definitions/190.html


아홉번째는 Cross-Site Request Forgery (CSRF)
https://cwe.mitre.org/data/definitions/352.html


열번째는 디렉토리나 Path의 제한 설정 부적절
https://cwe.mitre.org/data/definitions/22.html




근데 전 사실 보안 너무 빡세고 어려워요.
전 그냥 회사에서 공격자들한테 허점 보여줘서 서비스 망가지거나 하지만 말고,
개인정보 유출만 안 시키면 된다고 생각하고 있어요.
그래서, 위의 10개 정도만 읽어도 어떤 일정한 패턴은 있으니까. 그거 정도 숙지하면 좋을 것 같습니다.

  1. 유저가 입력할 수 있는 값은 어떻게든 악용 가능성을 생각하고 무조건 세니타이징할 것
  2. 메모리 부하를 의식하고 예외 처리를 항상 할 것
  3. 어떤 디렉토리든 파일이든 생성할때부터 생성 및 삭제권한 열람권한 수정권한을 항상 염두에 두고 만들 것
    정도만 해도 초대형 사고는 치지 않을 것이라고 생각합니다.
    이상 댓글 지적 환영합니다. 언제나 자신의 부족함에 자괴감을 느끼느라 이게 대체 사는건가 보람을 마지막으로 느낀게 언제였던가 싶은 감상을 매일 느끼는 그런 직업을 가진 프로그래머가 쓴 글이었습니다. 난 문장을 이렇게 길게 쓰면서 비문으로 안 쓰는 건 할 수 있는데. 프로그래밍은 그냥 코드 두줄 잘 쓰기도 어려워.