Lilly Ryan은 독특한 커리어를 가지고 있습니다. 역사 전공으로 중세 유럽의 감시 시스템을 연구하다가 소프트웨어 엔지니어가 되었습니다. 현재는 Thoughtworks에서 보안 전문가로 일하고 있습니다. 자신이 진행하는 인터뷰 채널에 Heidi Waterhouse(Docs for Developers의 저자 중 한명)가 참여해 보안 전문가들과 테크니컬 라이터가 일하는 방식에 대해 이야기했는데 그때 얻은 아이디어를 바탕으로 강연을 진행한다고 합니다.
예를 들어 보안 전문가가 침투 시험(Penetration test)를 진행할 때 취약점을 찾기 위해 문서를 샅샅이 읽습니다.
문서를 읽는 방식은 두 가지입니다. 첫 번째는 일반 사용자들과 마찬가지로 소프트웨어의 사용법(어떤 작업을 수행하는 방법)을 알기 위해 문서를 읽습니다. 이럴 때는 빠르게 원하는 내용만 찾아봅니다. 그리고 두 번째는 무언가를 망가트리는 방법을 알기 위해 문서를 살펴봅니다. 사용자를 위해 세심하게 배려한 문서가 오히려 커다란 위협이 될 수 있다는 겁니다.
보안 전문가로서 해커에게 악용될 수 있는 문서(콘텐츠)의 3가지 형태를 설명합니다.
1. 너무 많은 정보
문서 내에서 보안 설정을 해제할 수 있는 방법을 상세하게 설명하거나 오류 메시지에서 취약한 부분이 드러나는 메시지는 위협이 될 수 있습니다. 특히 이런 상세 정보가 담긴 내부 문서가 외부에 공개되는 경우도 종종 볼 수 있습니다.
사용 접근을 제한하는 방법 중 링크를 가진 사용자만 문서에 접근하게 하는 것은 안전하지 못한 방식입니다.
2. 충분하지 않은 정보
보안 기본 설정을 하는 방법에 대한 정보가 부족한 경우입니다. 마치 도어록 비번을 변경하지 않고 초기 상태로 쓰는 것과 마찬가지죠. 또는 뭔가 기능이 업데이트되면서 기본 보안 설정이 취약한 상태로 공개되는 경우 안전하지 못한 상태가 될 수 있습니다. GitLab의 경우 이런 문제를 사용자에게 적절하게 알리지 못해 문제가 발생하기도 했습니다.
https://about.gitlab.com/releases/2019/08/12/critical-security-release-gitlab-12-dot-1-dot-6-released/
3. 안전하지 않은 기본값
이건 물론 스펙 자체의 문제일 수도 있지만 적절한 문서화가 부재한 덕분에 문제가 될 수 있는 부분입니다. 음. 이건 2번 설명과 비슷한 것 같긴 합니다만. 아. 추가로 기본값을 문서에 기재한 경우에 위협이 될 수 있다고 합니다. 사용자가 변경해야 하는 값이라면 기본값을 문서에 표기할 필요가 없겠죠.
해커들은 이런 정보를 검색할 때 warning이나 caution 같은 문구를 검색 키워드로 사용합니다.
그래서 주의할 점은
1. 안전하지 않은 기본값을 피하세요.
2. 문서를 이용하는 이들 중 해커도 포함될 수 있다는 것을 명심하세요.
3. 위험을 강조할 때는 주의하세요.
4. 문서가 변조되지 않게 주의하세요.
그리고 100% 안전한 것은 없다는 것을 명심하세요.