Σχεδιάζουμε

υπερσύγχρονες και αποτελεσματικές ιστοσελίδες

που κάνουν τη διαφορά
διαβάστε περισσότερα

Transparent Layer

Σχεδιασμός ιστοσελίδων με

Responsive Design.

Μία ιστοσελίδα συμβατή με όλες τις συσκευές

Transparent Layer

Παρέχουμε υπηρεσίες

Αντίστροφης Μηχανικής

& Ασφάλειας λογισμικού.
διαβάστε περισσότερα

Transparent Layer

Αν ψάχνετε επαγγελματίες

Joomla Προγραμματιστές

τότε βρίσκεστε στο σωστό μέρος
διαβάστε περισσότερα

Transparent Layer

Δεδομένου ότι αυξάνεται ο αριθμός των απειλών, που έχουν σαν στόχο τα λογισμικά διαφόρων εταιρειών, κρίνεται απαραίτητη η ασφάλεια τους από την μη εξουσιοδοτημένη χρήση. Η εξάρτηση μας από την τεχνολογία των πληροφοριών, επιτάσσει την ασφάλεια των λογισμικών, διότι αποτελεί το στοιχείο κλειδί, για την ομαλή συνέχεια μίας επιχείρησης, η οποία δραστηριοποιείται στο χώρο της ανάπτυξης εφαρμογών.

ΤΟ ΠΡΟΒΛΗΜΑ

Καθημερινά, κακόβουλοι αντίστροφοι μηχανικοί (που ονομάζονται Crackers), με τη βοήθεια της Αντίστροφης Μηχανικής, προσπαθούν να παρακάμψουν την ασφάλεια προγραμμάτων διαφόρων εταιρειών, γράφοντας Key Generators και Patchers και ανεβάζοντάς τους στο διαδίκτυο, όπου θα μπορούσε να τους μεταφορτώσει ο κάθε ένας και να ξεκλειδώσει μία Trial έκδοση ενός λογισμικού, ώστε να τη χρησιμοποιεί για αόριστο χρονικό διάστημα, χωρίς να αγοράσει την άδεια χρήσης. Κάτι που φυσικά είναι παράνομο. Έτσι όμως, οι εταιρείες που παράγουν τα λογισμικά, χάνουν πωλήσεις και έσοδα. Οι Crackers θα μπορούσαν ακόμη και να κλέψουν των κώδικα και τις τεχνολογίες, που ενσωματώνονται μέσα στις εφαρμογές και να δημιουργήσουν αντίγραφα αυτών, λανσάροντάς τα σαν δικά τους ή ακόμη και να πουλήσουν τεχνολογίες λογισμικού σε ανταγωνιστικές εταιρίες. Για το λόγο αυτό κρίνεται απαραίτητη η Ασφάλεια Λογισμικού.

Ο ΣΤΟΧΟΣ

Όταν μιλάμε για την ασφάλεια λογισμικού, ο στόχος είναι να αποτραπεί ή να επιβραδυνθεί η διαδικασία της αντίστροφης μηχανικής σε μία εφαρμογή. Αν ο αντίστροφος μηχανικός καταφέρει να “ξεδιπλώσει” των κώδικα ενός προγράμματος, προσπερνώντας κάθε σύστημα ασφαλείας, σχεδόν όλα έχουν τελειώσει. Στην συνέχεια, αναλόγως το κίνητρο και την αποφασιστικότητά του, θα προβεί ή όχι στην ανάλυση του προγράμματος, εξάγοντας κάθε πληροφορία, για οποιαδήποτε τεχνολογία χρησιμοποιείται σε αυτό.

Η αφιέρωση 100άδων ωρών για την δημιουργία ενός πολύ εξελιγμένου και έξυπνου αλγορίθμου, για το registration key ή για μία τεχνολογία λογισμικού, δεν θα έχει κανένα απολύτως νόημα, χωρίς την χρήση τεχνολογιών που θα εμποδίσουν έναν Cracker, να φτάσει στον κώδικά σας. Δεν έχει κανένα απολύτως  νόημα, η ανάπτυξη ενός καινοτόμου, ευφυούς και γρήγορου αλγορίθμου κρυπτογράφησης, εάν με ένα απλό Disassembling μπορεί να εντοπιστεί ο κώδικας της αποκρυπτογράφησης. Δεν έχει απολύτως κανένα νόημα η χρήση απλών Executable Packers για την προστασία των προγραμμάτων, όταν με ένα απλό Memory Dumping μπορούμε να έχουμε τον κώδικα του αποσυμπιεσμένου εκτελέσιμου στα χέρια μας.

Η ΛΥΣΗ

Λόγω του ότι, σχεδόν τίποτα δεν μπορεί να μένει κρυφό από την Αντίστροφη Μηχανική (SRE), αυτό που μένει, είναι να αναπτυχθεί η κατάλληλη τεχνολογία, που θα αποτρέψει η θα δυσκολέψει τη διαδικασία της αντίστροφης μηχανικής. Η πλήρης και ολοκληρωμένη Ασφάλεια Λογισμικού είναι δύσκολη και πολύ επίπεδη και απαιτεί πολύ ιδιαίτερες γνώσεις, τεχνογνωσία και εμπειρία. Ο σχεδιασμός και η ανάπτυξη Anti Reverse Engineering τεχνολογιών είναι η λύση του προβλήματος. Η προστασία της εφαρμογής θα έλθει μέσω αυτού που ονομάζουμε εμείς SPAR (Software Protection Through Anti-Reversing).

Παραθέτουμε κάποιες από τις SPAR τεχνολογίες που αναπτύσσουμε:

Γιατί στόχος μας είναι, να αποτρέψουμε με κάθε τρόπο, έναν αποφασισμένο αντίστροφο μηχανικό να προβεί σε μία επιτυχή ανάλυση ενός λογισμικού, γιατί εμείς θεωρούμε ότι αυτό είναι το κλειδί της επιτυχίας.

  • Assembly Obfuscation: Η χρήση του Obfuscation είναι η δημιουργία λανθασμένων εντυπώσεων στον αντίστροφο μηχανικό, κατά τη διαδικασία του decompilation. Ο αρχικός κώδικας αντικαθίσταται με ένα σετ εντολών, που αναδημιουργούνται διαφορετικά, κάθε φορά που εκτελείτε ένα πρόγραμμα, διατηρώντας όμως τη λειτουργικότητα του αρχικού αλγορίθμου. Η προσπάθεια αντίστροφης μηχανικής, σε έναν τέτοιο κώδικα, θα ήταν δύσκολη, λόγω του ότι η ανάλυση αυτού του κώδικα θα είναι διφορούμενη, μην μπορώντας ο αντίστροφος μηχανικός, να κατανοήσει τι ακριβώς κάνει.
  • Anti Trace System: Σύστημα που αποτρέπει το single step tracing, κατά τη διαδικασία του debugging από προγράμματα όπως το OllyDbg κ.α.
  • Anti-Memory Dumping: Σύστημα που αποτρέπει το επιτυχές dumping μίας εφαρμογής, από την μνήμη RAM, ώστε να μπορέσει να μελετηθεί offline από τους αντίστροφους μηχανικούς. Κάποιες φορές και αναλόγως την περίπτωση που αντιμετωπίζουν οι Crackers, εκτελούν ένα λογισμικό κανονικά και όχι μέσω  Debuggers κ.τ.λ, αφήνοντας τον Loader να κάνει τη δουλειά του (δηλαδή να αποκρυπτογραφήσει τον κώδικα και όλα τα sections στη μνήμη RAM) και στην συνέχεια κάνοντας Memory Dumping, να κατεβάσουν στο σκληρό τους δίσκο τον αποσυμπιεσμένο και αποκρυπτογραφημένο κώδικα του εκτελέσιμου. Με το Anti-Memory Dumping ο Cracker αυτό που θα κατεβάσει στον υπολογιστή του, θα είναι ένας «άχρηστος» κώδικας.
  • Anti-Memory Patching: Πολλές φορές, κατά τη διαδικασία της Αντίστροφης Μηχανικής σε ένα λογισμικό, απαιτείται να κάνουμε, αυτό που στη γλώσσα μας λέμε Memory Patching. Δηλαδή να αλλάξουμε κάποιες τιμές σε μεταβλητές και εντολές απευθείας στη μνήμη RAM, ώστε να καθοδηγήσουμε την εκτέλεση του προγράμματος που αναλύουμε, με τον τρόπο που ακριβώς θέλουμε εμείς. Με την συγκεκριμένη τεχνολογία, μία τέτοια προσπάθεια δεν θα απέφερε τα αναμενόμενα αποτελέσματα, που θα περίμενε ο αντίστροφος μηχανικός.
  • Anti-Debugging System: Σύστημα που εμποδίζει το normal debugging σε μία εφαρμογή.
  • Anti-Disassembly System: Τεχνολογία που «μπερδεύει» τους disassemblers.

Εμείς στη DixanSoft έχουμε πολύ μεγάλη εμπειρία τόσο σε θέματα Αντίστροφης Μηχανικής, όσο και στην ανάπτυξη εφαρμογών ασφάλειας λογισμικού και είμαστε εδώ για να σας παρέχουμε λύσεις και συμβουλές, για να προστατέψετε και τις δικές σας. Οι παρεχόμενες υπηρεσίες που σχετίζονται με την ασφάλεια λογισμικού είναι:

  • Ολοκληρωμένη ανάλυση του πηγαίου κώδικα μίας εφαρμογής, για τον εντοπισμό σφαλμάτων ή διαρροών ασφαλείας.
  • “Black Box Testing” συμπεριλαμβανομένης της Αντίστροφης Μηχανικής
  • Ασφάλεια Web εφαρμογών

Για να ενημερωθείτε περαιτέρω, για τις υπηρεσίες Ασφάλειας Λογισμικού που παρέχουμε, επικοινωνήστε μαζί μας.