Maison  >  Article  >  Bilan de l'accident technique de Pinduoduo, que doivent apprendre les programmeurs ?

Bilan de l'accident technique de Pinduoduo, que doivent apprendre les programmeurs ?

青灯夜游
青灯夜游avant
2019-01-22 13:28:034811parcourir

Chaque accident oblige l'équipe technique à grandir. Personne ne peut garantir qu'aucun bug ne sera écrit et qu'aucune erreur ne se produira. Ce que nous devons faire, c'est trouver la racine du problème après l'accident et combler les trous. à temps pour arrêter la perte.

Bilan de l'accident technique de Pinduoduo, que doivent apprendre les programmeurs ?

Tôt le matin du 20 janvier 2019, certains internautes ont affirmé qu'il y avait un bug majeur dans Pinduoduo et que les utilisateurs pouvaient recevoir et dépenser le coupon sans seuil de 100 yuans. à volonté. Tout le monde s'est précipité pour faire passer le message et s'est levé au milieu de la nuit pour récupérer des coupons. Certains utilisateurs ont même reçu des milliers de coupons. Les utilisateurs intelligents ont dépensé les coupons le plus rapidement possible, par exemple en rechargeant China Mobile.

Articles connexes recommandés : Les programmeurs ont causé des bugs majeurs dans Pinduoduo et ont été condamnés à une amende de plusieurs dizaines de millions.

Pinduoduo a répondu tôt le matin : "Un gang de production noir et gris est passé Une faille de coupon expirée a volé des dizaines de millions de coupons de plateforme et réalisé des bénéfices illégaux. En réponse à ce comportement, la plateforme a réparé la faille dans les plus brefs délais et retrace en même temps l'origine de la commande impliquée. a signalé le cas à l'agence de sécurité publique. Nous coopérerons activement avec les départements concernés pour réprimer les gangs de l'industrie noire et grise impliqués. "

Par la suite, un porte-parole de Pinduoduo a déclaré que la perte finale réelle d'actifs pourrait être moindre. plus de 10 millions de yuans.

Après cet incident, il y a eu une explosion dans le cercle technologique. Cela peut être dû à la rumeur selon laquelle "un bug pourrait entraîner une perte de 20 milliards pour l'entreprise".

En tant que programmeur, ce qui me préoccupe le plus, c'est de savoir d'où vient ce bug ? Selon les rumeurs du marché, nous pouvons obtenir quelques indices comme suit. L'authenticité de ces indices n'a pas encore été vérifiée. Ils ne correspondent peut-être pas aux véritables circonstances de cet incident, mais cela ne nous empêche pas d'utiliser ces indices pour explorer les lumières que cet accident nous a apportées.

● De nombreuses personnes ont gagné des centaines de milliers de dollars

● Ce coupon est un coupon test

● Le système lance automatiquement des coupons test tôt le matin ; 🎜>

● ● L'exploitation et la maintenance ont constaté que le système a explosé et dépassé le seuil

● La personne impliquée a mis hors ligne manuellement les coupons de test

● Les coupons de test qui ont été manuellement hors ligne ; étaient de nouveau en ligne à huit heures du matin.

Ces indices semblent expliquer raisonnablement le déploiement et le fonctionnement d'un bug majeur. À partir de ces indices, outre les problèmes de conception du coupon lui-même, nous pouvons également constater le chaos dans son fonctionnement et sa maintenance. Comment mettre en ligne des coupons tests ? Le système est hors de contrôle, pourquoi n’y a-t-il pas de mesures de prévention des risques de suivi ? Comment un coupon test qui a été manuellement hors ligne peut-il être remis en ligne ? Pourquoi les opérations de coupons en ligne et hors ligne sont-elles si bâclées ? Si un système logiciel est exploité et entretenu à ce niveau, des problèmes surviendront tôt ou tard. S'il n'y a pas de problème, on peut seulement dire que vous avez beaucoup de chance.

Problèmes de conception des coupons

Le premier problème qui nous attire est : « De nombreuses personnes ont gagné des centaines de milliers de dollars ». Cela signifie qu'une personne peut recevoir des milliers de coupons. Beaucoup de gens le font, ce qui montre que le seuil technique pour recevoir des coupons sans seuil est extrêmement bas.

Les coupons généraux, similaires aux coupons de réduction, ont des seuils d'utilisation, comme acheter 100 yuans et obtenir une réduction de 20 yuans. Les coupons sans seuil, comme leur nom l'indique, sont des coupons sans seuil d'utilisation. Un coupon de 100 yuans peut acheter 100 yuans de marchandises, ce qui équivaut presque à de l'argent liquide. Étant donné que les coupons sans seuil sont similaires aux espèces, ils sont très différents des coupons ordinaires.

Peu importe les fêtes laineuses, Pinduoduo prétend avoir 300 millions d'utilisateurs. Si chaque utilisateur peut légalement et raisonnablement recevoir le coupon sans seuil de 100 yuans, cela nécessitera 30 milliards de yuans. Il n’y a presque aucun seuil pour l’enregistrement d’un compte. Si le milliard d’utilisateurs de WeChat s’inscrivent légalement et raisonnablement, reçoivent des coupons sans seuil et rechargent leurs téléphones portables, cela nécessitera 100 milliards de yuans.

Hier, la valeur marchande de Pinduoduo avoisine les 23 milliards de dollars américains, ce qui équivaut à 160 milliards de yuans en RMB. Le bon sans seuil de 100 yuans peut être collecté à volonté. Cela ressemble à un geste de démantèlement de l'entreprise et d'octroi de primes à tout le monde. Ce n’est certainement pas ce que l’on attend d’un coupon sans seuil.

Les coupons sans seuil qui peuvent être obtenus avec désinvolture ne sont pas des conceptions commerciales qualifiées, peu importe la façon dont vous les regardez. À tout le moins, fixez une limite supérieure à la quantité. Une fois que tout le monde l'aura récupéré, il disparaîtra. Si vous en donnez quelques millions, il sera distribué. Donner des dizaines de milliards n’est pas conforme à la logique commerciale normale.

De manière générale, même la réception de coupons ordinaires comporte de nombreuses conditions supplémentaires. Par exemple, un compte ne peut le recevoir qu'une seule fois, ou seuls les nouveaux comptes peuvent le recevoir. L'authentification du compte nécessite également de nombreuses mesures de sécurité, telles que la liaison de numéros de téléphone mobile, la liaison d'appareils et l'utilisation de connexions sécurisées. L'authentification et la gestion des comptes sont les fonctions les plus élémentaires d'un site Web de services. Si une personne peut recevoir des milliers de coupons, la compétence de base en matière de gestion de compte ne peut pas être considérée comme une réussite. Si le niveau de gestion du compte n'est pas aux normes, le risque de ce site Web sera pire que nous l'imaginions.

Une gestion de compte aussi médiocre et une conception commerciale aussi médiocre sont si inattendues et incompatibles avec la logique normale. Par conséquent, je suis d'accord qu'il ne s'agit que d'un coupon de test et qu'il ne devrait pas apparaître dans un système d'exploitation normal. Et s'il s'agit réellement d'un problème avec les coupons de test, cela exposera le chaos du développement, de l'exploitation et de la maintenance des logiciels.

R&D, exploitation et maintenance chaotiques

Un coupon de test était automatiquement en ligne après avoir été manuellement hors ligne, il était automatiquement à nouveau en ligne. Ce processus de lancement de produit est incroyable. La publication d'une fonction doit passer par la conception, la mise en œuvre, la révision, les tests et l'approbation avant de pouvoir être implémentée dans un système formel. Tant que l’un de ces liens joue un rôle, les coupons tests ne seront pas en ligne, encore moins automatiquement.

Après la mise en ligne, il doit y avoir une surveillance continue des risques. Si le système dépasse le seuil et explose, l'exploitation et la maintenance peuvent immédiatement obtenir des informations sur l'explosion, telles que des comptes inhabituellement actifs au milieu de la nuit ou des ventes de coupons populaires, et peuvent également éliminer ce risque en temps opportun.

On constate que le mécanisme de retenue raisonnable du personnel d'exploitation et de maintenance est une question que les entreprises commerciales doivent traiter avec prudence. Comment un coupon de test aléatoire peut-il être utilisé directement dans le système officiel ? L’exploitation et la maintenance des logiciels constituent un maillon qui nécessite une attention particulière à la gestion et au contrôle des risques, surtout lorsque la qualité du logiciel n’a pas suivi. Les accidents d’exploitation et de maintenance de logiciels peuvent parfois même bouleverser une industrie.

En 2011, une agence émettrice de certificats numériques a délivré plusieurs certificats numériques à Google. Google n'a jamais demandé de certificat numérique auprès de cette organisation. Autrement dit, le titulaire du certificat numérique n’est pas Google. Ce titulaire peut usurper l'identité du site Web de Google et voler les informations de connexion des utilisateurs, notamment les noms d'utilisateur et les mots de passe. Cela signifie soit qu'il y a un problème avec le niveau technique de l'entreprise (attaque de pirate informatique), soit qu'il y a un problème avec les capacités d'exploitation et de maintenance de l'entreprise (émission aléatoire de certificats). Ce problème de sécurité a été révélé en août 2011 et presque tous les géants du logiciel ont immédiatement annoncé qu'ils bloqueraient le certificat numérique de cette organisation. En septembre, cette institution très influente sur le marché a déclaré faillite.

Cependant, ce n’est pas la fin, la catastrophe du secteur de l’émission de certificats numériques ne fait que commencer. Les gens semblent soudain se rendre compte que la sécurité de l'information ne peut pas reposer sur les autorités de certification numérique. La sécurité d'une entreprise avec une capitalisation boursière de 400 milliards de dollars ne peut pas reposer sur les capacités opérationnelles d'une entreprise avec une capitalisation boursière de 4 milliards de dollars. En conséquence, diverses nouvelles technologies ont émergé au cours des années suivantes. Ces nouvelles technologies, si elles sont largement utilisées, anéantiront complètement l’ensemble du secteur de la délivrance de certificats numériques. Un tel jour n’est pas loin de nous. De nos jours, la vie des agences émettrices de certificats numériques est relativement sombre. Certaines sont vendues et d’autres sont dispersées.

L'auto-stop, qui provoque fréquemment des accidents de sécurité, a des propriétés similaires à long terme. En revanche, si tout ce qui est perdu dans un accident est de l’argent, les conséquences peuvent être supportables. Espérons que tout ce qui sera perdu, c’est de l’argent, mais je ne suis pas optimiste quant à cette attente.

En revenant à la source, le fonctionnement et la maintenance sont tellement chaotiques, ce qui est généralement indissociable de la qualité du logiciel. Pour un système logiciel sérieux, comment le produire, comment le déployer, comment l'exploiter, comment l'autoriser, comment gérer les crises, toutes ces questions doivent être conçues, mises en œuvre et planifiées. La partie impliquée a conçu un coupon de test sans seuil qui peut être exécuté dans le système d'exploitation et peut être reçu de manière illimitée. Cela a révélé la mauvaise qualité du logiciel sous-jacent et le processus de développement logiciel lâche et désordonné. On dit souvent qu’un excellent logiciel naît d’excellents processus. Un processus de R&D chaotique rend difficile la production de produits de haute qualité.

Que devons-nous faire ?

L'ignorance n'a pas peur. La raison pour laquelle les problèmes de sécurité sont particuliers est que si cela ne se produit pas, nous ne connaîtrons peut-être jamais l'existence du problème, et bien sûr, nous ne saurons pas à quel point il est grave. le problème est. Chaque crise de sécurité ne doit pas être vaine. Si nous sommes les parties impliquées, quelles méthodes pouvons-nous utiliser pour éviter des accidents similaires ?

Le plus urgent est de rembourser la dette de garantie du compte dans les plus brefs délais. Sinon, après cette propagation, beaucoup de regards seront attirés par ce morceau de graisse. La prochaine vague d’attaques de pirates informatiques est peut-être déjà en route.

Ensuite, réfléchissez aux choses suivantes dès que possible.

La première chose à faire est de standardiser le processus de recherche et développement. Les produits fabriqués dans le cadre du processus de développement logiciel de première classe ne seront pas pires, aussi mauvais soient-ils. Dans ce processus de recherche et développement, les programmeurs ne peuvent pas agir seuls. Les exigences doivent être discutées, les conceptions doivent être prévisualisées, les fonctions doivent être revues, les codes doivent être revus, les logiciels doivent être testés et le système doit être mis en service à l'essai. Tout le monde fera des erreurs. Quelques paires d’yeux supplémentaires surveillant chaque étape réduiront considérablement le risque de commettre des erreurs. Les programmeurs peuvent également évoluer rapidement grâce au processus de recherche et développement, réduisant ainsi davantage le risque d’erreurs. Un bon système peut permettre aux gens de réussir ; un mauvais système peut les détruire.

La deuxième chose à faire est de faire attention à la sécurité du code. La sécurité du code ne fait pas toujours référence à une intrusion de pirate informatique. L'utilisation de ce coupon sans seuil constitue un incident grave de sécurité. Au niveau du code, il se peut que la gestion des comptes soit dangereuse, que la logique métier ne soit pas vérifiée, que la gestion des autorisations d'exploitation et de maintenance soit laxiste et que les risques anormaux ne soient pas avertis à temps.

La troisième chose à faire est de déduire à l'avance le business design. Même s'il n'y a pas de pirates informatiques, 100 milliards de RMB en coupons sans seuil ne constituent pas un coût qu'une organisation commerciale est prête à payer. C'est une erreur de niveau maternelle. Si la logique métier ne s’applique pas, cela signifie des exigences logicielles défectueuses. Les logiciels construits sur des exigences boguées seront également bogués.

La quatrième chose à faire est d'améliorer le mécanisme de lancement du produit. Définissez des points de contrôle et des pipelines pour le lancement du produit. Si un point de contrôle échoue, le pipeline sera interrompu et le produit ne sera pas lancé. Ces points de contrôle incluent les essais de produits, l'approbation des fonctions, les mesures de surveillance associées, etc.

La cinquième chose à faire est d'améliorer les capacités de prévention des risques d'exploitation et de maintenance. Une entreprise comptant 300 millions d'utilisateurs, une valeur marchande de 23 milliards de dollars américains et une entreprise de commerce électronique sont une cible pour les pirates informatiques. En particulier, les informations confidentielles des utilisateurs et les flux de trésorerie sont liés à la vie et à la mort de l'entreprise. Pour une entreprise de cette taille, disposer d’excellentes capacités de prévention des risques est l’exigence la plus fondamentale, et non la cerise sur le gâteau. La détection active des risques, l’alerte rapide et la réponse rapide sont autant de mesures qui doivent suivre le rythme.

Si la conception commerciale du coupon sans seuil a été déduite, les fonctions du logiciel ont été discutées, le code de mise en œuvre a été revu et le lancement a été répété, l'accident peut être prévenu à temps. tant que l'un des liens joue un rôle, cet accident n'arrivera pas. Ce serait tellement tragique !

Je comprends la pression concurrentielle et la motivation d'une entreprise à avancer à toute vitesse quoi qu'il arrive et à troquer la qualité contre la vitesse. Cependant, lorsque nous poursuivons la vitesse actuelle, nous devons également considérer l’avenir à trois pieds. Sinon, la dette accumulée derrière ces fesses deviendra vraiment une grosse queue dont on ne pourra se débarrasser.

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer