2008-09-20 2 views
8

이것은 내 책에 대한 모욕적 인 정보 수집 운동입니다.초보자 용 ASP.NET 보안 서적에서 무엇을보고 싶습니다.

내가 커뮤니티에서 제공하는 대화 중 하나는 웹 사이트 취약점에 대한 소개입니다. 일반적으로 말하면서 두 명 이상의 청중이 매우 창백 해지는 것을 볼 수 있습니다. 이것은 크로스 사이트 스크립팅, SQL 삽입, 정보 유출, 사이트 간 양식 요청 등과 같은 기본적인 것들입니다.

그렇다면 처음 웹 개발자 (ASP.NET이든 아니든)로 다시 생각해 보면 웹 보안 및 개발 방법에 대한 유용한 정보가 될 것이라고 생각하십니까? 난 이미 OWASP Top Ten

을 포함한다 (그리고 네,이 사람은 아직 생각하지 않은 뭔가 나오면 유래가 승인 목록에있을 것입니다 의미!)

그것은 이제 모두 완료하고, 게시 된 귀하의 모든 답변을 주셔서 감사합니다.

답변

6

먼저 웹 보안 문제를 염두에두고 보안을 염두에두고 개발하는 사람들이 새로운 개념이 될 수있는 방법에 대해 설명합니다. 예를 들어 HTTP 헤더를 가로 채고 XSS 공격을 구현하는 방법을 보여줍니다. 그 (것)들에게 공격을 보여주고 싶은 이유는이다 그래서 그들은 그들 자신에 대하여 방어하고있는 무슨을의 더 나은 아이디어가있다. 그 이상의 보안에 대해 말하면 좋지만 침입하려는 공격 유형을 이해하지 못하면 보안을 위해 시스템을 정확하게 "테스트"하기 어려울 것입니다. 일단 그들이 메시지를 가로 채서 보안을 테스트 할 수 있다면 헤더를 스푸핑 할 것입니다. 그런 다음 그들이 구현하려고하는 보안이 작동하는지 여부를 적어도 알게됩니다. 해당 보안을 자신있게 구현하는 데 필요한 모든 방법을 가르쳐 줄 수 있습니다. 잘못 입력했는지 알면 실제로 시도한 보안 테스트에 실패하므로 실제로 알게됩니다.

+1

사실 내가 가고있는 곳이 너무 많습니다 (올바른 경로를 확인해 주셔서 고마워요). 최초의 실제 장은 피들러에 대한 소개 일 것입니다. * 각 장은 "여기에 몇 가지 코드가 있습니다. 여기에 공격이 있습니다, 공식 이름이 있습니다."다음 토론과 그것을 수정하는 방법이 있습니다. – blowdart

1

모든 특정 공격을 다루는 일반적인 주제로서 방어 프로그래밍입니다. 방어 공격은 방어 공격을 충분히 고려하지 않은 경우가 대부분입니다.

해당 제목을 책의 중앙 열로 만듭니다. 그때 나에게 잘 돌아온 것은 "SQL 주석이나 특수 문자를 입력에 허용하지 마십시오"와 같은 단 하나의 중지 팁이 아닌, 아무것도 신뢰하지 않는 기술에 대해 아는 것이 었습니다.

이전에 내가 배웠던 또 다른 흥미로운 점은 실제로 그들을 테스트하는 방법입니다.

0
+0

Arf; 하지만 .net, 루비가 아니에요. 그래서 나는 아르마딜로를 사용해야합니다. – blowdart

1

나는 모든 취약점 프로그래머, 생각 심판의 순간이 경과하거나, 그들이 생각하지 않은 것이 아닙니다의 기반으로 생각합니다. "픽스 업 (fix up)"이라는 애플리케이션에있는 한 가지 큰 취약점은 로그인하는 사용자가 관리자 인 경우 인증 방법에서 0 (Zero)을 반환했다는 사실이었습니다. 변수가 원래 0으로 초기화 되었기 때문에 데이터베이스 다운과 같은 문제가 발생하면 예외가 발생합니다. 변수는 적절한 "보안 코드"로 설정되지 않으므로 사용자는 사이트에 대한 관리자 액세스 권한을 갖습니다. 절대적으로 끔찍한 생각이 그 과정에 들어갔다. 따라서 중요한 보안 개념을 갖게되었습니다. "보안 수준"을 나타내는 변수의 초기 값 또는 그 종류의 값을 사이트의 전체 신 제어를 나타내는 값으로 설정하지 마십시오. 더 나아가 장기간에 걸쳐 방대한 양의 제작 환경에서 사용되는 화재를 겪은 기존의 라이브러리를 사용하십시오.

1

나는 ASP를 어떻게보고 싶습니다.NET 보안은 ASP 클래식 보안과 다릅니다.

+0

흠, 고전 ASP를 고려해 보면 흥미 롭습니다. 희미한 미소가있었습니다. * – blowdart

+2

ASP 고전에서 HtmlEncode를 사용했던 시대로 돌아 왔습니다. 우리는 그것을 사용하지 않았지만 거기에 있었다 :-) – Steven

0

OWASP Top Ten을 갖게되어 반갑습니다. SANS/CWE Top 25 Programming 실수의 범위도 포함시켜보십시오.

+0

왜냐하면 나는 200-350 페이지 밖에 가지고 있지 않기 때문이다. 나는 그것을 부드럽게 소개하고 합리적으로 일반적인 것으로 유지하기를 원합니다. SANS의 실수는 스스로를 복제하고 웹 특유의 실수는 아닙니다. – blowdart

0

나는 항상 잘못 될 수있는 상황에 대해 최악의 시나리오를 보여 주려고합니다. 예를 들어 크로스 사이트 스크립트 삽입이 해커가 자신에게 액세스 할 수없는 응용 프로그램의 페이지 또는 심지어 SQL 주입이 블랙 박스 및 how a hacker can steal your sensitive business data의 경우에도 작동 할 수있는 블랙 박스 공격으로 작동 할 수있는 방법 웹 사이트가 정상적인 비 특권 로그인 계정으로 데이터베이스에 연결될 때

+0

"이제 다 끝났습니다. 게시하고 답장을 보내 주셔서 감사합니다." Oeps .. 조금 늦게 나는이었다 :-) – Steven

0

보안 방법이 SQL Server로 확장 가능한지 확인하는 방법. 특히 SQL Server가 여러 명의 사용자로부터 요청을 직렬화하는 것을 피하는 방법은 모두 동일한 ID로 연결되기 때문에 ...