이 있을 방지하는 방법의 응용 프로그램에서 분석되거나 주사?(c#)

StackOverflow https://stackoverflow.com/questions/893658

  •  23-08-2019
  •  | 
  •  

문제

의 부하가 있 프로파일러와 정적 코드 해석기는 거 C#어셈블리입니다.

그 궁금해 있는 경우를 방지하기 위해 어떤 방법 분석되고 있기 때문에,그것은 느끼게 긴장되는 경우 제거됩니다.

내가 찾는 모든 인터넷을 통해 유래.가 없음에 대한 나의 궁금합니다.

무엇이 내가 있어서만 일부는 심지어 더 무서운 같은 제목이(sorry,새 사용자를 게시 할 수 없습니다 하이퍼 링크,구글주세요 그들):

"어셈블리를 조작 C#/VB.순 코드를 주입"

"주입하는 방법을 관리.NET 어셈블리(DLL)가 다른 프로세스"

그것은 그냥 나를 너무 걱정하거나 무엇인가?

BTW,C#,우리는 새로운 winform 클라이언트에 대한 은행의 고객에게 할인 온라인 트랜잭션이 있습니다.우리는 이렇게 하지 않에 winform 방법으로 또는 우리가 사용하는 다른 언어 같은 델파이,C++?현재 우리가 winform 클라이언트로 구축 C++작성기입니다.

도움이 되었습니까?

해결책

거의 모든 응용 프로그램은 "분석 및 주입"할 수 있습니다. 다른 사람들보다 더. 그렇기 때문에 사용자 입력을 신뢰하지 않는 이유입니다. 서버 끝에서 사용자의 요청을 완전히 검증하여 버퍼 오버런, SQL 주입 및 기타 공격 벡터에 취약하지 않도록합니다.

Obfuscators는 .NET 어셈블리를 분석하기 어렵게 만들 수 있습니다. 안전한 키를 사용하여 어셈블리를 강하게 이름을 지정하면 코드를 변경하기가 훨씬 어려워 질 수 있습니다. 그러나 디지털 세계의 다른 모든 것들과 마찬가지로 누군가는 취약성을 악용하고 당신이 세우는 모든 보호 수단을 둘러 볼 수 있습니다.

다른 팁

분석 한 경우 누군가가 코드를 디 컴파일하고 보는 것을 의미한다면 VS Pro 이상의 배송을하는 DotFucstor는 여기에서 도움이되는 간단한 (무료) 도구입니다. 더 많은 기능을 수행 할 수있는 전체 기능 (그러나 지불 된) 버전이 있습니다.

배치 된 Assmebliles를 조작하는 사람이 강한 이름.

가 있는 것,방법이 있는지 여부,그것의 관리된 코드 또는 기본 어셈블리입니다.키를 계속 중요한 정보를 서버에 종료에 대해 통제할 수 있기를 바라십니다.

당신이 보호하려는 것을 결정해야 할 첫 번째는 무엇입니까? obfuscator는 "비밀 소스"알고리즘을 보호하는 데 유용하지만 공격자는 단순히 코드를 추출하여 블랙 박스로 사용할 수 있습니다. 99%의 경우 Obfuscators는 돈 낭비입니다. 공격자가 물리적으로 액세스 할 수 있다면 할 수있는 일은 많지 않습니다.

최종 사용자가 관리 권한으로 실행중인 경우 디버거를 첨부하고 대상 계정 세부 정보를 포함하여 코드를 수정할 수 있습니다. 내 현지 친화적 인 은행은 대상 계정의 마지막 n 자리를 입력 해야하는 칩 & 핀 리더를주었습니다. 그런 다음 장치에서 은행의 웹 애플리케이션으로 코드를 입력하여 은행의 끝에서도 확인할 수 있습니다. 이것은 "중간"유형의 공격을 완화합니다 ...

보안은 당신이 물리적으로 접근 할 수있는 시스템에서만 가능합니다. 제어 할 수 있고 손상 될 수있는 시스템에서 실행되지 않는 코드를 가정해야합니다. Rowland Shaw가 말했듯이, 금융 기관의 가장 좋은 방법은 일종의 물리적 토큰으로, 타협 된 시스템에서 운영하는 공격자가 미리 알 수없는 모든 거래에 오프라인 고유 한 구성 요소를 효과적으로 추가합니다. 그럼에도 불구하고 사용자 컴퓨터가 손상되어 해당 시점부터 세션이 끝날 때까지 보안 토큰으로 로그인하면 공격자가 사용자가 허가 한 조치를 자유롭게 수행 할 수 있지만 최소한 적어도 수행한다는 사실을 알고 있어야합니다. 이 경우 사용자는 사기 활동을 알 수 있습니다.

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