10.7. 도구

몇몇 도구들은 보안 문제를 처리하기 전에 이를 탐지하는데 도움이 될 수 있다. 물론 모든 그러한 문제를 발견할 수는 없지만 지나칠 수 있는 문제를 잡는데 도움이 될 수 있다. 다음은 오픈 소스/자유 소프트웨어 도구에 중점을 둔 약간의 도구들이다.

한가지 명백한 타입의 도구는 잠재적인 보안 문제를 갖고 있다고 알려진 패턴을 찾아내는 소스 코드를 검사하는 프로그램이다 (예, 라이브러리 함수 호출은 대개 보안 취약성의 출처이다). 이러한 종류의 프로그램은 ``소스 코드 스캐너" (source code scanner) 라고 불리는데 다음 몇몇 그러한 도구들이다:

다른 방법은 프로그램내의 약점을 찾기 위해 테스트 패턴을 만들어 프로그램을 실행시키는 것이다. 다음은 약간의 도구들이다.

많은 보통의 잠재적인 단점을 갖고 있는 ftp 서버 또는 방화벽과 같은 제품을 구축하려면 표준 보안 스캐닝 도구가 유용함을 알 수 있다. Nessus 는 한가지 훌륭한 도구로 이외에도 많은 도구들이 있다. 이러한 종류의 도구들은 회귀 검사 (regression testing) 을 하는데 매우 유용하지만 이들은 본질적으로 과거의 특정 취약성과 공통적인 설정 에러 목록을 사용하기 때문에 새로운 프로그램에서 문제점을 찾아내는데 유용하지 않을 수도 있다.

보안적인 인프라를 구현하기 위해 다른 도구를 호출할 필요가 있을 것이다. Open-Source PKI Book 은 공개키 기반구조 (public key infrastructure, PKI) 를 구현하기 위한 많은 오픈 소스 프로그램을 기술하고 있다.

물론 비보안적으로 설정된 플랫폼에서 보안적인 프로그램을 실행시키는 것은 의미가 없다. 공격에 보다 저항적인 시스템 설정을 하거나 수정하기 위해 강화 시스템을 검사할 수도 있다. 리눅스에서 한가지 강화 시스템은 Bastille 리눅스로 이는 http://www.bastille-linux.org 에서 얻을 수 있다.