Aby ulepszyć Wiedza i edukacjai Nauka i technologia Ogólnie rzecz biorąc, zawsze niezwykle ważne było wdrażanie lepsze i skuteczniejsze działania, środki lub zalecenia (Dobre praktyki) aby osiągnąć ostateczny cel, doprowadzić do skutku jakakolwiek czynność lub proces.
Oraz programowanie lub Rozwój oprogramowania Jak każda inna działalność informatyczna i zawodowa ma swoją własną „Dobre praktyki” związane z wieloma sferami, zwłaszcza tymi związanymi z Cyberbezpieczeństwo wyprodukowanego oprogramowania. W tym poście przedstawimy kilka «Dobre praktyki bezpiecznego kodowania »z interesującej i użytecznej witryny internetowej o nazwie „Secure Code Wiki”, tak dużo o Platformy programistyczne wolne i otwarte, prywatne i zamknięte.
Zanim przejdziemy do tematu, jak zwykle zostawimy później kilka linków do wcześniejszych publikacji związanych z tematem «Dobre praktyki w programowaniu lub tworzeniu oprogramowania ».
"… Dobre praktyki wymyślone i rozpowszechnione przez "Kod inicjatywy rozwojowej" Międzyamerykańskiego Banku Rozwoju w zakresie Oprogramowanie licencyjne, które należy wziąć pod uwagę przy tworzeniu oprogramowania (narzędzi cyfrowych), zwłaszcza darmowych i otwartych." Licencje na rozwój wolnego i otwartego oprogramowania: dobre praktyki
Bezpieczny kod Wiki: dobre praktyki bezpiecznego kodowania
Co to jest Secure Code Wiki?
Jak mówi jego tekst teren:
"Secure Code Wiki to zwieńczenie praktyk bezpiecznego kodowania dla szerokiej gamy języków."
I Ty jesteś dobre praktyki i strona internetowa „Secure Code Wiki” zostały stworzone i utrzymywane przez indyjską organizację o nazwie Payatus.
Przykłady dobrych praktyk według typów języków programowania
Ponieważ strona jest w języku angielskim, pokażemy kilka przykłady bezpiecznego kodowania o różnych języki programowania, niektóre bezpłatne i otwarte, a inne prywatne i zamknięte, oferowane przez wspomnianą witrynę dla domeny zbadać potencjał i jakość treści załadowany.
Ponadto należy to podkreślić Dobre praktyki wyświetlane na Platformy programistyczne następujący:
- .NET
- Java
- Java na Androida
- Kotlin
- NodeJS
- Cel C
- PHP
- Python
- Rubin
- Szybki
- WordPress
Są one podzielone na następujące kategorie dla języków pulpitu:
- A1 - wtrysk (Iniekcja)
- A2 - Uwierzytelnianie uszkodzone (Uszkodzone uwierzytelnianie)
- A3 - Ujawnianie danych wrażliwych (Ekspozycja danych wrażliwych)
- A4 - Podmioty zewnętrzne XML (Zewnętrzne jednostki XML / XXE)
- A5 - Wadliwa kontrola dostępu (Uszkodzona kontrola dostępu)
- A6 - Dekonfiguracja bezpieczeństwa (Błędna konfiguracja zabezpieczeń)
- A7 - Cross Site Scripting (Cross Site Scripting / XSS)
- A8 - Niezabezpieczona deserializacja (Niezabezpieczona deserializacja)
- A9 - Korzystanie z komponentów o znanych podatnościach (Używanie komponentów ze znanymi lukami w zabezpieczeniach)
- A10 - Niewystarczająca rejestracja i nadzór (Niewystarczające rejestrowanie i monitorowanie)
A także podzielony na następujące kategorie dla języków mobilnych:
- M1 - Niewłaściwe użytkowanie platformy (Niewłaściwe użycie platformy)
- M2 - Niezabezpieczone przechowywanie danych (Niezabezpieczone przechowywanie danych)
- M3 - Niezabezpieczona komunikacja (Niezabezpieczona komunikacja)
- M4 - Niezabezpieczone uwierzytelnianie (Niezabezpieczone uwierzytelnianie)
- M5 - Niewystarczająca kryptografia (Niewystarczająca kryptografia)
- M6 - Niebezpieczna autoryzacja (Niezabezpieczona autoryzacja)
- M7 - Jakość kodu klienta (Jakość kodu klienta)
- M8 - Manipulacja kodem (Manipulowanie kodem)
- M9 - Inżynieria odwrotna (Inżynieria odwrotna)
- M10 - Dziwna funkcjonalność (Dodatkowa funkcjonalność)
Przykład 1: .Net (A1-Injection)
Korzystanie z obiektowego mapowania relacyjnego (ORM) lub procedur składowanych jest najskuteczniejszym sposobem przeciwdziałania podatności na iniekcję SQL.
Przykład 2: Java (A2 - Uwierzytelnianie uszkodzone)
Tam, gdzie to możliwe, wdrażaj uwierzytelnianie wieloskładnikowe, aby zapobiec zautomatyzowanemu wypełnianiu danych uwierzytelniających, brutalnej sile i ponownemu wykorzystaniu skradzionych poświadczeń.
Przykład 3: Java dla Androida (M3 - niezabezpieczona komunikacja)
Konieczne jest zastosowanie SSL / TLS w kanałach transportowych używanych przez aplikację mobilną do przesyłania poufnych informacji, tokenów sesji lub innych poufnych danych do zaplecza API lub usługi sieciowej.
Przykład 4: Kotlin (M4 - Niezabezpieczone uwierzytelnianie)
Unikaj słabych wzorców
Przykład 5: NodeJS (A5 - Bad Access Control)
Mechanizmy kontroli dostępu modelu powinny wymuszać prawo własności do rekordów, a nie zezwalać użytkownikowi na tworzenie, odczytywanie, aktualizowanie lub usuwanie dowolnego rekordu.
Przykład 6: Cel C (M6 - Niepewna autoryzacja)
Aplikacje powinny unikać używania zgadywalnych liczb jako odniesienia do identyfikacji.
Przykład 7: PHP (A7 - Cross Site Scripting)
Zakoduj wszystkie znaki specjalne za pomocą htmlspecialchars () lub htmlentities () [jeśli znajduje się w obrębie tagów html].
Przykład 8: Python (A8 - niezabezpieczona deserializacja)
Moduł pickle i jsonpickle nie jest bezpieczny, nigdy nie używaj go do deserializacji niezaufanych danych.
Przykład 9: Python (A9 - używanie komponentów ze znanymi lukami)
Uruchom aplikację z najmniej uprzywilejowanym użytkownikiem
Przykład 10: Swift (M10 - dziwna funkcjonalność)
Usuń ukryte funkcje backdoora lub inne wewnętrzne mechanizmy bezpieczeństwa programistyczne, które nie są przeznaczone do udostępnienia w środowisku produkcyjnym.
Przykład 11: WordPress (wyłączenie XML-RPC)
XML-RPC to funkcja WordPress, która umożliwia przesyłanie danych między WordPress a innymi systemami. Obecnie został w dużej mierze zastąpiony przez interfejs API REST, ale nadal jest uwzględniany w instalacjach w celu zapewnienia zgodności z poprzednimi wersjami. Jeśli jest włączona w WordPress, osoba atakująca może wykonywać między innymi ataki brute force, pingback (SSRF).
Wnioski
Mamy taką nadzieję "pomocny mały post" o stronie o nazwie «Secure Code Wiki»
, który oferuje cenne treści związane z «Dobre praktyki bezpiecznego kodowania »; jest bardzo interesujący i użyteczny dla całości «Comunidad de Software Libre y Código Abierto»
i ma wielki wkład w rozprzestrzenianie się wspaniałego, gigantycznego i rosnącego ekosystemu zastosowań «GNU/Linux»
.
Na razie, jeśli to lubisz publicación
, Nie przestawaj udostępnij to z innymi osobami w ulubionych witrynach internetowych, kanałach, grupach lub społecznościach sieci społecznościowych lub systemach przesyłania wiadomości, najlepiej bezpłatnych, otwartych i / lub bezpieczniejszych, jak Telegram, Signal, Mastodont lub inny z Fediversenajlepiej.
I pamiętaj, aby odwiedzić naszą stronę główną pod adresem «DesdeLinux» aby poznać więcej wiadomości, a także dołączyć do naszego oficjalnego kanału Telegram z DesdeLinux. Aby uzyskać więcej informacji, możesz odwiedzić dowolne Biblioteka online jako OpenLibra y Jedit, aby uzyskać dostęp do książek cyfrowych (PDF) na ten lub inny temat i czytać je.
Ciekawy artykuł, powinien być obowiązkowy dla każdego programisty.