GN⁺: 컴퓨터 보안의 여섯 가지 어리석은 아이디어 (2005)
(ranum.com)- 컴퓨터 보안에서 가장 어리석은 여섯 가지 아이디어
- 컴퓨터 보안은 여전히 "핫 토픽"임
- 많은 시간과 돈을 투자하고도 여전히 문제를 겪는 이유는 무엇인가?
기본 허용
- "기본 허용"은 다양한 형태로 나타남
- 방화벽 규칙에서 가장 흔하게 볼 수 있음
- 새로운 취약점이 발견되면 관리자가 이를 차단할지 결정해야 함
- "기본 허용"은 해커와의 무한 경쟁을 초래함
- 반대 개념인 "기본 거부"는 좋은 아이디어임
나쁜 것 나열하기
- 초기 컴퓨터 보안에서는 몇 가지 잘 알려진 보안 구멍만 있었음
- "나쁜 것 나열하기"는 모든 악성 요소를 나열하고 차단하는 것임
- 인터넷의 악성 요소가 선량한 요소보다 많아짐
- "나쁜 것 나열하기"는 비효율적이며, "좋은 것 나열하기"가 더 나은 접근법임
침투 및 패치
- "침투 및 패치"는 버그를 찾아 수정하는 방식임
- 이 방식은 코드의 근본적인 문제를 해결하지 않음
- 보안 취약점을 발견하고 패치하는 것은 근본적인 해결책이 아님
- 보안 시스템은 설계 단계에서부터 안전하게 만들어져야 함
해킹은 멋지다
- 해킹을 멋지게 여기는 것은 어리석은 생각임
- 해킹은 사회적 문제이며, 기술적 문제가 아님
- 해커를 영웅시하는 것은 해킹을 장려하는 것임
- 보안 전문가가 해킹 기술을 배우는 것도 어리석은 생각임
사용자 교육
- 사용자 교육은 "침투 및 패치"의 인간 버전임
- 사용자를 교육하는 것은 근본적인 해결책이 아님
- 문제를 해결하는 대신 문제를 제거하는 것이 더 나은 접근법임
행동이 무행동보다 낫다
- "행동이 무행동보다 낫다"는 생각은 어리석은 생각임
- 새로운 기술을 도입하기 전에 충분히 검토하고 기다리는 것이 더 나은 전략임
- "어리석은 행동을 하지 않는 것이 똑똑한 행동을 하는 것보다 쉽다"는 것을 기억해야 함
GN⁺의 정리
- 이 글은 컴퓨터 보안에서 흔히 저지르는 어리석은 실수를 다루고 있음
- 보안 시스템을 설계할 때 근본적인 문제를 해결하는 것이 중요함
- 해킹을 멋지게 여기는 문화는 해킹 문제를 악화시킬 수 있음
- 사용자 교육보다는 문제를 근본적으로 해결하는 접근법이 필요함
- 새로운 기술을 도입할 때는 충분히 검토하고 신중하게 접근하는 것이 중요함
Hacker News 의견
-
'Default Deny'는 'Default Permit'보다 어렵지 않지만, IT 보안 담당자에게는 더 나은 수면을 제공함
- 그러나 회사의 다른 사람들은 IT 부서와의 여러 번의 추가 작업 없이 아무것도 작동하지 않아 매우 짜증스러워함
- 사람들이 짜증날수록 IT 보안 개념을 약화시키는 우회 방법을 사용할 가능성이 높음
- 좋은 IT 보안은 사용자에게 보이지 않고 방해가 되지 않는 마법과 같아야 함
-
90년대 후반과 2000년대 초반에 Marcus Ranum과 Bruce Schneier는 취약점 공개가 해롭다고 주장했음
- 그러나 이 관점은 입증되지 않았음
- 오늘날 대부분의 보안 학술 대회는 공격 연구를 포함하고 있음
-
비밀번호에 대한 언급이 없어서 놀라움
- 비밀번호 구성 규칙과 비밀번호 회전은 본질적으로 어리석다고 생각함
- 사용자가 비밀번호를 기억하기 쉽게 선택할 수 있도록 해야 함
-
보안 테스트가 필요 없다고 주장하는 것은 최악의 보안 관점임
- 해킹은 기술 문제가 아니라 사회적 문제라고 주장하는 것도 잘못된 관점임
-
보안 지향적인 접근 방식이 사용자에게 불편을 초래함
- 보안과 편리함 사이의 균형을 맞추는 것이 중요함
- 취약점과 익스플로잇을 연구하는 것이 보안 학습에 유익함
-
해킹은 멋진 일이지만, 다른 사람의 데이터와 시스템에 접근하는 것은 그렇지 않음
- 자신의 시스템을 철저히 이해하고 조작하는 것은 유익함
-
익스플로잇을 배우는 것은 이론과 실무를 함께 학습하는 데 유용함
-
사용성과 보안 사이의 불행한 절충이 문제임
- 'Default Permit'과 같은 접근 방식이 보안에 해로움
- 비밀번호는 사용자가 기억하기 어렵고 불편함
-
클라이언트를 신뢰하는 것은 보안 모델이 깨진 것임
-
'Penetrate and Patch' 접근 방식은 보안 작업을 무의미하게 만듦
- 시스템을 안전하게 설계하는 것보다 취약점을 찾고 수정하는 것이 더 중요함
- 불법적인 접근과 보안 컨설팅을 구분하는 것이 좋음