.net-php-java-ajax security
.NET security
*An ninh bảo mật dựa trên nền tảng bằng chứng (evidence-based): Hệ thống bảo mật truy cập mã của .NET Framework cho phép các nhà phát triển định ra những "giấy phép" được yêu cầu rằng mã của họ cần để hoàn thành sản phẩm. Bộ thực thi ngôn ngữ chung (common language runtime) chịu trách nhiệm bảo đảm rằng những "giấy phép" này là phù hợp hay bị loại bỏ, phụ thuộc vào chứng cớ bao gồm nhận diện người dùng, nhận diện mã, mã nào thực sự đang được sử dụng, mã được bắt nguồn từ nơi nào?
* Windows Authentication tích hợp: .NET Framework cũng tích hợp với Windows Authentication (Chứng thực Windows). Windows Authentication tích hợp trước đây được biết như chứng thực NT LAN Manager và Windows NT Challenge/Response. Trong Windows Authentication tích hợp, trình duyệt cố gắng sử dụng những (giấy) ủy nhiệm của người dùng hiện hành từ một đǎng nhập tên miền. Nếu những ủy nhiệm này không được chấp nhận thi Windows Authentication tích hợp sẽ nhắc người dùng cho một tên và mật khẩu người dùng thông qua một hộp thoại. Khi Windows Authentication tích hợp đang được sử dụng thì mật khẩu người dùng không qua được từ máy khách đến máy phục vụ. nếu một người dùng đã đǎng nhập như là một người sử dụng tên miền trên một máy tính cục bộ, người dùng sẽ không bị chứng thực lần nữa khi truy nhập một máy tính mạng trong miền đó.
* Chứng thực Internet: Người dùng Internet thường cần những cơ chế chứng thực khác nhau. Các ứng dụng dùng .NET Framework có thể nắm lấy lợi thế và được cấu hình cho chứng thực sử dụng một sự kết hợp của máy phục vụ Web (Web server) và các nhà cung cấp chứng thực .NET Framework.
AJAX sec
Việc cải tiến các ứng dụng web truyền thống sang các ứng dụng AJAX làm cho nó nhanh hơn, tiện dụng hơn, dễ dàng tương tác hơn cũng kéo theo hệ quả là tăng nguy cơ mất an ninh của ứng dụng.
Quá trình thực thi Script và thông tin trao đổi trên yêu cầu server/client tăng đem lại cơ hội lớn hơn cho kẻ tấn công phá hoại hoặc ăn cắp dữ liệu.
Một giải pháp tốt cho vấn đề này là sử dụng các công cụ dò quét, rà soát lỗ hổng của ứng dụng web. Từ đó, khắc phục các điểm yếu an ninh tồn tại trên ứng dụng.
PHP sec
Bảo mật trong lập trình PHP là một nhiệm vụ quan trọng trong quá trình xây dựng các ứng dụng bằng ngôn ngữ PHP. Trong môi trường phát triển hướng chia sẻ và các ứng dụng hướng trực tuyến, vấn đề bảo mật luôn được đặt lên hàng đầu vì khi đưa ra sử dụng, không có phần mềm hay ứng dụng nào tránh được sự tấn công cũng như gặp phải sự cản trở do lỗi của hệ điều hành mà ứng dụng đó cài đặt lên.
Vấn đề bảo mật của PHP gồm các giải thuật được sử dụng và nguồn thư viện trong PHP:
- Các giải thuật:
oMD5 được dùng rộng rãi để lưu trữ mật khẩu. Sử dụng hàm md5() để mã hóa dữ liệu, cụ thể hơn là chúng ta hay sử dụng nó để mã hóa password trước khi insert vào database.
oSHA-1 được sử dụng rộng rãi trong nhiều ứng dụng và giao thức an ninh khác nhau, bao gồm TLS và SSL, PGP, SSH, S/MIME, và IPSec. SHA-1 được coi là thuật giải thay thế MD5, một thuật giải băm 128 bit phổ biến khác
- Nguồn thư viện: PHP k an toàn, các hacker có thể lấy được thông tin khi ng dùng duyệt web
oKhi submit form: Có thể thay thế biến đang được xử lý=> Kết quả khác
oCác đoạn mã script
oFile Upload: Người dùng browser có thể tự lựa chọn nhưng file trên máy tính của mình rồi upload tới người phục vụ mạng từ xa . Rõ ràng đây là một cách upload tốt nhưng sự đáp lại của PHPs chính là tiềm tàng nguy hiểm. Sau khi qua sự kiểm tra của PHP nó sẽ cho phép ghi lên ổ cứng vào 1 vùng tạm thời. Người tấn công có thể có được những thông tin về nội dung file khi gọi trên trình duyệt.
o Các mảng: HTTP_GET/POST_VARS[];HTTP_GET_VARS; HTTP_POST_VARS; HTTP_COOKIE_VARS; HTTP_POST_FILES; HTTP_POST_FILES : Bạn có thể tìm kiếm thông tin như cookie , có khả năng xử lý file , nếu như bạn có thể đưa ra những biến thích hợp .
- Các lỗi thường gặp phải trong lập trình PHP:
oLỗi khách quan:
§ Các chuẩn dữ liệu khi nhập vào
§ Lỗi do khách hàng cung cấp các thông tin bí mật
§ Lỗi share hosting
oLưu ý các lỗi do viết code:
§ Các thông báo lỗi
§ Các thư mục hệ thống
§ Kiểm soát các hàm hệ thống
§ Cần một bộ kí tự mã hóa riêng cho website, tránh các yêu cầu tấn công từ website khác
§ Sử dụng các biến cục bộ: Trong PHP, bạn có thể sử dụng register_globals trong file php.ini để khởi tạo các biến toàn cục – những biến mà bạn không cần phải tạo ra nó một cách rõ ràng.
JAVA sec
Các thuật toán mã hóa dữ liệu được sử dụng:
Java sử dụng nhiều giải thuật mã hóa dữ liệu như: DES, 3DES, ARES, RSA … và được chia làm 3 loại mã hóa.
· Mã hóa 1 chiều: Gồm các giải thuật SHA (Secure Hash Algorithm), MD5 (Message Digest) … đặc điểm các thuật toán này là không thể giải mã được.
· Mã hóa đối xứng: Gồm các giải thuật DES (Data Ecrypto Standard), TripleDes (Triple Data Ecrypto Standard) … Trong thuật toán này, cả hai bên nhận và gửi phải sử dụng chung một mã giống nhau. Trong java gọi là SecretKey.
· Mã hóa không đối xứng: Gồm các giải thuật RSA … Trong giải thuật này, việc mã hóa hóa sẽ dùng một khóa chungg (public key) và có thể giải mã bằng khóa private key của người nhận. Do vậy nếu người thứ ba biết public key cũng không thể giải mã được dữ liệu mà anh ta nhận được
Các lớp mã hóa trong java
- Java cung cấp một công cụ để thực thi và xử lý mã hóa là JCE (Java Cryptography Extension). Công cụ này sẽ tạo một môi trường làm việc và thực thi việc mã hóa, phát sinh khóa, chấp nhận khóa để bổ xung thêm giao tiếp và triển khai số khóa thông điệp, chữ ký.
- JCE cung cấp phương thức mã hóa đối xứng thông qua việc sử dụng khóa bí mật, một khóa được chia sẻ bởi người gửi và người nhận để mã hóa cũng như giải mã dữ liệu.
- JCE có gói chính là javax.crypto và nó bao gồm hai gói phụ javax.cryto.spec và javax. cryto.interfaces. Đây là 2 gói chính mà chương trình hay sử dụng trong việc chấp nhận khóa và chứng thực thông điệp.
JCE engine class
Chức năng
Javax.crypto.Cipher
Cung cấp các hàm để viết thành mật mã cho việc mã hóa và giải mã
Javax.crypto.KeyAgreement
Cung cấp các hàm cho giao thức chuyển đổi mã
Javax.crypto.KeyGenertor
Cung cấp các hàm cho việc tạo khóa đối xứng
Javax.crypto.Mac
Cung cấp các hàm cho thuật toán MAC
Javax.crypto.SecretkeyFactory
Tạo các khóa bí mật
Bạn đang đọc truyện trên: truyentop.pro