문제

저는 보안을 매우 중요하게 생각하고 웹 애플리케이션을 최대한 안전하게 만들려고 노력하는 웹 개발자입니다.

C#으로 Windows 애플리케이션을 직접 작성하기 시작했고 C# 애플리케이션의 보안을 테스트할 때 저는 정말 초보자에 불과했습니다.

자신의 Windows 응용 프로그램을 해킹하고 보안 코드를 작성하는 방법에 대한 좋은 자습서/읽어보기가 있는 사람이 있는지 궁금합니다.

도움이 되었습니까?

해결책

Michael Howard의 책은 좋은 출발점입니다.

Michael Howard의 블로그에는 수많은 링크와 흥미로운 기사가 ​​있습니다. 여기

위협 평가, 위험 및 ASP에 대한 Microsoft의 흥미로운 PowerPoint 프레젠테이션이 있습니다. 여기.

다른 팁

버퍼 오버플로, 코드 주입, 세션 Highjacking et. 알. 방지 방법을 알고있는 소프트웨어를 해킹하는 방법에 대해서만 생각할 수 있기 때문에 코드/소프트웨어를 확인할 다른 사람을 찾아야합니다. 자신의 소프트웨어를 해킹하는 방법을 찾을 수 없기 때문에 다른 사람은 할 수 없다는 의미는 아닙니다.

이것은 당신이하기가 매우 어려운 일이며, 나는 당신이 잘못된 각도에서 문제에 접근하고 있다고 생각합니다. 모든 규모의 응용 프로그램을 작성하는 경우 마지막에 보안을 처리하려고 시도하는 경우 자신의 소프트웨어를 깨는 특정 방법을 찾는 것은 거의 불가능합니다.

이것은 여러 가지 이유입니다. 당신은 이미 당신의 소프트웨어에 대해 특정한 방식으로 생각합니다. 당신은 그것과 상호 작용하는 특정한 방법을 생각하고, 그것으로부터 최선을 다하는 방법을 알고 있습니다. 당신은 그것을 악용하는 방법의 관점에서 그것에 대해 생각하지 않으며, 이것은 당신이 친숙하게 친숙한 소프트웨어와 관련이 있습니다.

또 다른 문제는이 시점까지의 작업이 너무 커다는 것입니다. 찾은 문제는 다른 여러 가지 문제를 일으킬 수 있습니다. 시스템 넓은 보안 점검은 세분화 거의 거의 없습니다.

당신이해야 할 일은 소프트웨어를 작성하는 동안 보안에 대해 생각하는 것입니다. 모범 사례를 배우고 보안 관점에서 작성하는 각 방법과 클래스를 고려하십시오. 이것은 단위 테스트와 함께 진행되며, 어떤 입력이 내 프로그램의 특정 부분을 깨뜨릴 수 있는지 고려해보십시오. 그런 다음 그 수준에서 그들을 다루십시오.

그 후 나는 그것이 당신이 알고있는 모든 보안 문제에 신속하게 대응하는 문제라고 생각합니다.

내 경험을 통해 내가 겪은 작은 것들.

  • 동적 SQL을 사용하지 않으면 SQL 주입에 취약합니다. 오히려 매개 변수와 함께 SQL 쿼리를 사용하십시오.
  • user_id = 1, 2, 3 등과 같은 ID를 증가시키지 않은 다음 URL, ustome.aspx? user_id = 1에서 사용하면 다음 ID와 세션 희망을 추측 할 수 있습니다. 계정에 대해서도 동일하고 다른 것이 민감합니다.
  • XSS (크로스 사이트 스크립팅)를 조심하십시오. 사용자 입력을 수락하고 직접 저장하는 경우 이름이나 무언가에 대해 Alert ()를 삽입 할 수 없는지 확인하십시오.

이것은 결코 완전한 목록이 아닙니다. 내가 최근에 들어온 것들.

Ross Anderson 's를 읽는 것보다 훨씬 더 나빠질 수 있습니다. 보안 엔지니어링 책. 첫 번째 판은 PDF로 다운로드 할 수 있으며 잘 읽습니다. 나는 두 번째 에디션을 읽지 않았지만 더 좋다고 생각하고 더 많은 음식이 있다고 생각합니다.

보안을 깨는 방법이 아니라 처음부터 보안을 구축하는 방법을 설명하는 책이지만, 보안 보안 결함의 박람회는 어디에서 시작 해야하는지에 대한 좋은 아이디어를 제공해야합니다.

승리 양식 응용 프로그램을 확보하려면 그것을 열고 Lambda 사용자가하지 말아야 할 모든 것을 시도하십시오! 설명하겠습니다 :

당신이 "입력이라고 말하면 yes 또는 no", AZ, 0-9로 시도해보십시오. 일부 사용자는 흥미로운 스택 추적을 찾으려고 노력하기 때문입니다. 따라서 모든 곳에 유효성 검사기를 넣으십시오.

데이터베이스에 대한 연결을 조심하지만 Web Dev에서 온 경우 나보다 더 잘 알고 있어야합니다 :).

가장 어려운 부분은 메모리 누출이나 그와 비슷한 것들에 대해 조심하는 것이지만, 큰 큰 앱이거나 잘 개발되지 않은 앱입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top