민첩한 개발과 관련하여 릴리스 별 보안을 테스트하기위한 모범 사례는 무엇입니까?민첩한 개발 샵에서 보안을 테스트하기위한 최상의 방법이 있습니까?
월간 릴리스 인 경우 매달 펜 테스트를 실시하는 상점이 있습니까?
민첩한 개발과 관련하여 릴리스 별 보안을 테스트하기위한 모범 사례는 무엇입니까?민첩한 개발 샵에서 보안을 테스트하기위한 최상의 방법이 있습니까?
월간 릴리스 인 경우 매달 펜 테스트를 실시하는 상점이 있습니까?
저는 Agile 개발에 대한 전문가는 아니지만 기본 자동 펜 테스트 소프트웨어를 빌드주기에 통합하면 좋은 시작이라고 생각합니다. 필자는 기본 테스트를 수행하고 자동화에 적합한 여러 소프트웨어 패키지를 보았습니다.
저는 보안 전문가는 아니지만 보안을 테스트하기 전에 알아 두어야 할 가장 중요한 사실을 보호하려고합니다. 보호하려는 대상을 알고있는 경우에만 보안 조치에 대한 적절한 분석을 수행 할 수 있으며 그런 다음에야 구현 된 조치를 테스트 할 수 있습니다.
매우 추상적입니다. 그러나 모든 보안 감사의 첫 번째 단계라고 생각합니다. 로그의
Unit testing, Defense Programming 및 많은
단위 테스트
가능한 한 빨리 확인 단위 테스트를 확인합니다 (예 : 암호를 전송하기 전에 암호화되어야의 SSL 터널이 작동 등) . 이렇게하면 프로그래머가 실수로 프로그램을 안전하지 못하게 막을 수 있습니다.
국방 프로그래밍
는 개인적으로 편집증 프로그래밍이 전화를하지만, 위키 백과 (풍자) 결코 잘못된 것입니다. 기본적으로 모든 입력을 검사하는 함수에 테스트를 추가합니다.
로깅 미친 듯이
로그 다 (당신이 입력이 자신의 기능에 의해 생성되는 것을 알면서도, 어쨌든 테스트합니다). 로그를 제거하고 로그를 추가하는 것이 더 쉽습니다. 사용자가 로그인 했습니까? 그것을 기록하십시오. 사용자가 404를 찾았습니까? 그것을 기록하십시오. 관리자가 게시물을 편집/삭제 했습니까? 그것을 기록하십시오. 누군가 제한된 페이지에 액세스 할 수 있었습니까? 그것을 기록하십시오.
개발 단계에서 로그 파일이 15MB 이상에 도달하면 놀라지 마십시오. 베타 테스트 중에 제거 할 로그를 결정할 수 있습니다. 원하는 경우 특정 이벤트가 기록되는시기를 결정하는 플래그를 추가 할 수 있습니다.
응용 프로그램 도메인은 무엇입니까? 그것은 달려있다.
"Agile"이라는 단어를 사용 했으므로 웹 앱이라고 생각합니다. 나는 당신을 위해 좋은 쉬운 대답을했습니다.
Burp Suite의 복사본을 구입하십시오 ("burp"에 대한 Google 결과 # 1 - 확실한 보증 임)! 11 월까지 기다리면 99EU, 또는 $ 180USD, 또는 98 달러의 Obama Dollars가 발생할 것입니다.
트림은 웹 프록시로 작동합니다. Firefox 또는 IE 등을 사용하여 웹 응용 프로그램을 탐색하고 생성 한 모든 히트 수를 수집합니다. 이러한 히트 곡은 웹 퍼저 인 "침입자 (Intruder)"라는 기능에 공급됩니다. Intruder는 각 쿼리 처리기에 제공하는 모든 매개 변수를 파악합니다. 그런 다음 SQL, 파일 시스템 및 HTML 메타 문자를 포함하여 각 매개 변수에 대해 미친 값을 시도합니다. 전형적인 복잡한 형태의 게시물에, 이것은 당신이, 민첩한 상황에서 더 중요한 것은, 새로운 --- 오류 응답을 무서운 식별 ---하거나 통해 살펴 보겠습니다 약 1500 안타를 생성하는 것입니다. 각 릴리스의 반복에서 웹 응용 프로그램의 모든 쿼리 처리기를 퍼징
은 공식적인 "SDLC"을 제정하고 인력을 추가하지 않고 응용 프로그램의 보안을 개선하기 위해 할 수있는 1 일이다. 그 외에도 주요 웹 앱 보안 핫 스폿에 대한 코드를 검토하십시오.
매개 변수화 된 준비된 SQL 문만 사용하십시오. 단순히 문자열을 연결하여 데이터베이스 핸들에 공급하지 마십시오.
알려진 모든 좋은 입력 (앨넘, 기본 구두점)의 흰색 목록에 모든 입력을 필터링하고 쿼리 결과의 필터 데이터를 출력하여 HTML 메타 문자를 HTML 엔터티로 "중립화"합니다 (quot, lt, gt) , 등).
쿼리 매개 변수에 현재 간단한 정수 행 ID를 사용하고있는 곳이면 어디에서나 추측 할 수없는 긴 임의 식별자를 사용하고 사용자 X가 사용자 식별자 Y를 알기 위해 사용자 Y의 데이터를 볼 수 없도록해야합니다.
테스트 응용 프로그램의 모든 쿼리 처리기은 유효한 로그온 세션 쿠키 제시되어있는 경우에만 작동하는지 확인합니다.
웹 스택에서 XSRF 보호 기능을 켜면 렌더링 된 모든 양식에 숨겨진 양식 토큰 매개 변수가 생성되어 공격자가 의심하지 않는 사용자에게 양식을 제출하는 악성 링크를 만들지 않도록 방지합니다.
사용 bcrypt ---과 다른 아무것도 --- 해시 암호를 저장합니다.
하나 잘 넣어, @ 데이비드. 나는 보안 전문가이며, 어떻게 든이 기본 원칙을 얻지 못하는 이른바 "전문가"를 본다. – AviD