Faits :
A.
A.a. La société A._ SA, sise à Genève, a pour but social le commerce de matières premières, en particulier les diamants. Elle est entièrement détenue par B._ SA, dont le siège est aussi à Genève et dont le but social est d'acquérir et vendre des participations dans toutes entreprises, en particulier celles actives dans le commerce de diamants. Cette entité est elle-même détenue par la société de droit russe C._, dont D._ est chargé de gérer les projets.
A.b. En 2005, A._ SA et B._ SA ont toutes deux noué une relation bancaire avec l'établissement... SA. Chacune y détenait trois comptes courants dont un en francs suisses, le deuxième en dollars américains (USD) et le troisième en euros.
Les deux sociétés ont désigné C._ comme ayant droit économique des valeurs patrimoniales. D._ avait un pouvoir de signature individuel pour les deux relations bancaires.
Les deux sociétés ont signé une décharge autorisant la banque à exécuter les ordres donnés par téléphone, télex, téléfax et/ou tout autre moyen convenu de télécommunication. Elles déclaraient reconnaître et accepter les risques inhérents à l'utilisation de ces moyens de communication, notamment l'erreur d'identification de l'interlocuteur ou la falsification des documents transmis, qui pouvaient leur occasionner un dommage pécuniaire ou tout autre dommage. Les clientes acceptaient de supporter sans réserve les conséquences de l'exécution par la banque des ordres ainsi transmis et déchargeaient celle-ci de toute responsabilité dans la mesure permise par la loi.
A.c. En 2010, la société Z._ SA (ci-après: la banque) a acquis par fusion... SA, dont elle a repris les droits et obligations.
B._ SA et A._ SA ont régulièrement communiqué à cette banque des ordres de transfert par courrier électronique.
En janvier 2012, elles ont entrepris des démarches pour pouvoir donner des ordres de transfert par e-banking. D._ a reçu un code unique lui permettant d'accéder aux comptes des deux sociétés. Les sociétés ont néanmoins continué à donner des ordres de transfert par courrier électronique.
A.d. Les Conditions générales de la banque, acceptées par les deux sociétés, prévoyaient notamment ce qui suit:
«1. Vérification de la légitimation
La Banque vérifie avec la diligence usuelle la légitimation du titulaire du compte, de ses mandataires ou d'autres personnes disposant du droit de signature. Dès lors que la Banque a fait preuve de la diligence d'usage, tout dommage pouvant résulter de défauts de légitimation ou de falsifications non décelés est à la charge du titulaire du compte.
[...] Lorsque le titulaire du compte donne des ordres de paiement, il respecte toutes les mesures de prudence pour diminuer le risque de fraude. Les dommages qui résultent d'un manquement à ce devoir de diligence sont à la charge du titulaire du compte.
[...]
6. Erreurs de transmission
Dès lors que la Banque a agi avec la diligence requise, tout dommage lié à l'utilisation des services postaux, ou de ceux des services de courrier, de l'utilisation du téléphone, du téléfax, d'autres moyens de transmission (par exemple le courrier électronique), et causé notamment par des retards, pertes, erreurs, malentendus, double expédition, etc...., est à la charge du titulaire du compte. [...]»
A.e. Entre le début des relations bancaires en 2005 et le 31 décembre 2013, les deux sociétés ont procédé à des transactions entrantes et sortantes pour un montant de quelque 1'355'462'000 francs suisses. 107 transactions ont été inscrites au débit des comptes de B._ SA et 793 au débit de ceux de A._ SA.
Les transactions ordonnées par les deux sociétés ont à plusieurs reprises porté sur des montants supérieurs à un million de dollars. Au cours des dernières années, les comptes se sont trouvés vides à plusieurs reprises.
Les transactions étaient réalisées avec des tierces parties situées en Angola, en Autriche, en Belgique, à Chypre, à Dubaï, à Hong Kong, en Israël, aux Pays-Bas, au Royaume-Uni, en Russie et en Suisse.
Les ordres de transfert électroniques avaient par ailleurs les caractéristiques suivantes:
- différentes adresses électroniques étaient utilisées par les représentants des deux sociétés dans le cadre de leurs communications avec la banque. Lorsque D._ adressait des ordres de transfert à la banque, il utilisait l'adresse électronique D._@...ru. Son adresse @gmail.com a aussi régulièrement été utilisée pour les communications électroniques des deux sociétés avec la banque;
- A._ SA et B._ SA faisaient généralement parvenir à la banque des versions numérisées d'ordres de transfert signés, en annexe à leurs courriers électroniques. Toutefois, certains n'étaient pas signés;
- les ordres de paiement adressés à la banque par courrier électronique étaient généralement confirmés par fax, sans que cela soit systématiquement le cas;
- les instructions de transfert signées par D._ comprenaient habituellement les éléments suivants:
 le sujet de l'ordre de transfert portait la mention «Re: »;
 l'ordre était rédigé comme suit: « In accordance with [la cause du paiement] we hereby instruct you to transfer the amount of [monnaie du paiement en abrégé] [montant à transférer] with value [date d'exécution] from our account # [n° du compte ou n° de la relation bancaire] to the account of [nom du bénéficiaire] with the following bank details [...]»;
- certains ordres faisaient parfois l'objet de différences de vocabulaire et de mise en page. Ainsi, la banque du bénéficiaire était parfois désignée par les mentions « Bank », « Account with », ou « Bank of the beneficiary »;
- à plusieurs reprises, D._ a ordonné dans le même courrier électronique des transferts visant tant A._ SA que B._ SA;
- à quelques reprises, peu fréquentes, des ordres ont été donnés sur le papier à en-tête de B._ SA pour A._ SA, ou vice-versa.
A.f. Le 17 décembre 2013, les deux collaborateurs bancaires X._ et Y._ ont reçu un courrier électronique émanant de l'adresse @gmail.com, qui exigeait d'effectuer un transfert de 600'000 USD. A la fin du courriel figuraient les mentions suivantes: «D._, C._, [...] D._@...ru [...]».
En annexe au message électronique figuraient les instructions suivantes, rédigées sur le papier à en-tête de B._ SA:
« Please transfer USD 600,000 [...] from out [recte: our] account # (n° de portefeuille de A._ SA, réd.) to M._ with the following bank details:
Company Name: M._
Company Add: [...] SEOUL, (...) Rep. of KOREA
Account No: [...]
Bank name [...]: [...]
[...]
Swift code: [...]
[...]
Yours sincerely,
[signature]
D._ [tampon de B._ SA]
Managing Director »
La signature de l'ordre susvisé correspondait au spécimen connu de la banque. Certaines parties de cet ordre étaient rédigées dans une police différente de celle habituellement utilisée par D._.
Suite à une interpellation de Y._, il lui a été répondu par l'adresse @gmail.com que le paiement était destiné à l'achat d'actions et une facture non signée établie par M._ Ltd à l'attention de B._ SA a été jointe en annexe. Y._ s'est fait confirmer qu'il s'agissait bien d'acheter des participations dans la société destinataire du paiement.
Toujours ce 17 décembre 2013, l'employé précité a confirmé que le paiement avait été effectué, en joignant un avis de débit du compte de A._ SA.
A.g. Le 20 décembre 2013, le prénommé et X._ ont reçu un nouvel ordre de transfert de 900'000 USD émanant de l'adresse électronique @gmail.com.
En annexe figuraient les instructions suivantes, établies sur le papier à en-tête de B._ SA:
« This will stand as authorization to transfer USD 900,000 [...] from our account # to M._ with the following bank details:
Company Name: M._
Company Add: [...] SEOUL, [...] Rep. of KOREA
Account No: [...]
Bank name [...]: [...]
Bank Add:
Swift code: [...]
[...]
[signature] [tampon de A._ SA]
Managing Director
A._ SA »
La signature de l'ordre correspondait au spécimen de signature de D._ connu de la banque, reproduit électroniquement. Certaines parties du courriel précité étaient rédigées dans une police différente de celle habituellement utilisée par le prénommé.
Etait également annexée une facture non signée établie par M._ Ltd à l'attention de B._ SA, mentionnant l'achat d'actions pour un montant total de 900'000 USD.
Y._ a fait remarquer que les instructions mentionnaient B._ SA tandis que le numéro de compte était celui de A._ SA. Il lui a été répondu, toujours par l'adresse @gmail.com, qu'il fallait débiter le compte de A._ SA.
L'ordre a été exécuté le 20 décembre 2013 et inscrit au débit du compte de A._ SA.
A.h. Le 24 décembre 2013, D._ a téléphoné à Y._ en indiquant qu'il venait d'apprendre via les accès e-banking l'existence d'un transfert au sujet duquel il sollicitait des informations. Aucune connexion par l' e-banking aux comptes des deux sociétés n'a eu lieu après le 4 décembre 2013.
Le collaborateur précité lui a indiqué que le premier paiement faisait suite à un ordre de transfert de sa part et qu'un second transfert pour un montant de 900'000 USD était intervenu. Il a envoyé à l'adresse D._@...ru les courriels qu'il avait reçus de l'adresse @gmail.com concernant les deux ordres de transfert. D._ a contesté en être l'auteur, affirmant que son adresse électronique avait été piratée.
Par courriel du 27 décembre 2013, D._ a exigé de la banque qu'elle crédite le compte de A._ SA des montants de 600'000 USD et 900'000 USD. La banque a conseillé à A._ SA de contacter les autorités de police compétentes.
A._ SA a encore exigé par courrier du 6 janvier 2014 que la banque restitue les 1'500'000 USD transférés indûment.
A.i. La banque a saisi les autorités pénales coréennes.
Sur la suggestion de son conseil en Corée du Sud, la banque a demandé le 10 janvier 2014 à A._ SA de lui remettre une déclaration notariée dans laquelle elle devait certifier ne pas avoir demandé les transferts litigieux et n'avoir aucun motif de le faire vu l'absence de relation avec la titulaire du compte récipiendaire en Corée. Le document devait également comprendre une déclaration de dépôt de plainte pénale.
Relancée par la banque, A._ SA a fourni une déclaration non notariée qui ne mentionnait pas l'absence de toute relation avec la récipiendaire des fonds, ni ne confirmait le dépôt d'une plainte pénale.
Le 3 février 2014, la banque a invité A._ SA à faire confirmer par les autorités suisses que les transferts étaient intervenus à la suite d'un piratage, ou du moins sans l'accord du titulaire du compte, et à confirmer l'absence de lien avec la titulaire du compte récipiendaire en Corée.
A._ SA n'a pas donné suite.
A.j. Le 17 mars 2014, la banque a déposé une plainte pénale contre inconnu auprès du Ministère public genevois. La procédure a été classée sans suite, faute d'éléments de prévention suffisants.
A.k. Le 7 avril 2014, le conseil coréen de la banque a écrit à celle-ci que de son point de vue, la possibilité que l'associé ou l'affilié de A._ SA soit impliqué dans le crime ne pouvait être exclue. Dans un tel cas, la police coréenne adoptait généralement une approche prudente et discrète dans son enquête et évitait de divulguer trop d'informations concernant le processus d'investigation (traduction libre de la version originale en anglais, réd.).
Les autorités coréennes ont fait bloquer des comptes auprès de la banque destinataire des fonds versés et ont délivré un mandat d'arrêt à l'encontre d'un dénommé.... La banque n'a toutefois pas obtenu la restitution des fonds versés lors des transferts litigieux.
A.l. A._ SA a fait notifier deux commandements de payer à la banque, correspondant à la contre-valeur de 600'000 USD et 900'000 USD. La banque a fait opposition.
B.
B.a. Le 6 juin 2014, A._ SA a déposé une requête de conciliation contre la banque. Elle a ensuite porté l'action devant le Tribunal de première instance du canton de Genève, en concluant au paiement de 600'000 USD et de 900'000 USD ainsi qu'à la mainlevée des oppositions formées dans les poursuites en cours.
B.b. Par jugement du 10 février 2017, le Tribunal de première instance a rejeté la demande, pour le double motif que la preuve formelle d'un piratage de l'adresse électronique de D._ n'avait pas été apportée et que la banque pouvait se prévaloir de la clause de transfert de risques contenue dans la décharge signée en 2005 dès lors qu'elle n'avait commis qu'une faute légère.
B.c. Statuant le 19 décembre 2017 sur appel de A._ SA, la Cour de justice genevoise a confirmé ce jugement. En résumé, elle a considéré que la banque avait démontré avoir agi sur la base d'instructions émanant de l'adresse de la messagerie électronique détenue par D._ et précédemment utilisée pour communiquer avec la banque, comme le permettait la documentation contractuelle signée par la cliente. Celle-ci devait dès lors établir que ces instructions émanaient d'un tiers ayant piraté l'adresse de messagerie et se faisant faussement passer pour le prénommé. Or, une telle preuve n'avait pas été apportée (cf. au surplus consid. 4 et 7.1 infra).
C.
A._ SA (ci-après: la recourante) saisit le Tribunal fédéral d'un recours en matière civile concluant derechef à ce que la banque soit condamnée à lui payer 600'000 USD et 900'000 USD plus intérêts, et à ce que les oppositions dans les poursuites en cours soient définitivement levées.
La banque intimée a conclu au rejet du recours dans la mesure de sa recevabilité.
L'autorité précédente s'est référée à son arrêt.

Considérant en droit :
1.
Les conditions de recevabilité du recours en matière civile sont réalisées sur le principe, notamment celles concernant le délai (art. 46 al. 1 let. c et <ref-law>) et la valeur litigieuse minimale de 30'000 fr. (<ref-law>).
2.
2.1. Le Tribunal fédéral applique le droit d'office (<ref-law>). Eu égard, toutefois, à l'exigence de motivation qu'impose l'<ref-law> sous peine d'irrecevabilité (<ref-law>), il n'examine d'ordinaire que les griefs invoqués, sauf en cas d'erreurs juridiques manifestes (<ref-ruling> consid. 2).
Des exigences de motivation plus strictes prévalent quant au grief de violation des droits constitutionnels. Conformément au principe d'allégation, le recourant doit indiquer quel droit ou principe constitutionnel a été violé en expliquant de façon circonstanciée en quoi consiste la violation (<ref-law>; <ref-ruling> consid. 2.2; <ref-ruling> consid. 3.2; sous l'OJ, cf. <ref-ruling> consid. 1.3).
2.2. Le Tribunal fédéral statue sur la base des faits établis par l'autorité précédente (<ref-law>). Il ne peut rectifier ou compléter les constatations de l'autorité précédente que si elles sont manifestement inexactes ou découlent d'une violation du droit au sens de l'<ref-law> (art. 97 al. 1 et art. 105 al. 2 LTF). «Manifestement inexactes» signifie ici «arbitraires» au sens de l'art. 9 Cst. (<ref-ruling> consid. 2 p. 117; <ref-ruling> consid. 1.5).
Dans la mesure où la partie recourante se plaint d'arbitraire dans l'établissement des faits, elle doit satisfaire au principe d'allégation évoqué ci-dessus en expliquant clairement et de manière circonstanciée en quoi cette condition serait réalisée (<ref-ruling> consid. 1.3.1 p. 18 et les références). Si elle souhaite obtenir un complètement de l'état de fait, elle doit aussi démontrer, par des renvois précis aux pièces du dossier, qu'elle a présenté aux autorités précédentes, en conformité avec les règles de la procédure, les faits juridiquement pertinents à cet égard et les moyens de preuve adéquats (<ref-ruling> consid. 2 p. 90).
3.
L'argent figurant sur un compte bancaire ouvert au nom d'un client est la propriété de la banque, envers laquelle le client n'a qu'une créance. En versant ou virant de l'argent depuis ce compte à un tiers, la banque transfère son propre argent. Si elle agit en exécution d'un ordre du client ou d'un de ses représentants, elle acquiert une créance en remboursement du montant correspondant, à titre de frais engagés pour l'exécution régulière du mandat (<ref-law>). En revanche, lorsqu'elle exécute les instructions d'un tiers non autorisé ou d'un représentant qui sort du cadre de sa procuration, la banque agit sans mandat du client et n'a pas de créance en remboursement (arrêts 4A_379/2016 du 15 juin 2017 consid. 3.2.1 et 3.2.2 et les réf. citées; 4A_398/2009 du 23 février 2010 consid. 5.1.1; 4A_54/2009 du 20 avril 2009 consid. 1).
Dans la mesure où le client réclame la restitution de l'avoir en compte, il exerce une action en exécution du contrat qui n'est pas subordonnée à l'existence d'une faute de la banque, et non pas une action en dommages-intérêts. La banque doit payer une seconde fois si elle a offert sa prestation à un tiers non autorisé (<ref-ruling> consid. 2 p. 452; <ref-ruling> consid. 3a p. 454; arrêt précité 4A_379/2016 consid. 3.2.2; arrêt 4A_386/2016 du 5 décembre 2016 consid. 2.2.2).
Cette réglementation légale en vertu de laquelle la banque supporte le risque du défaut de légitimation ou de faux non décelé peut être modifiée. Les conditions générales des banques contiennent fréquemment une clause dite de transfert des risques, qui a pour effet de reporter sur la tête du client le risque que la banque doit en principe supporter en cas d'exécution en mains d'une personne non autorisée. Selon la jurisprudence, la validité d'une telle clause doit être examinée par application analogique des art. 100 et 101 al. 3 CO. La banque ne peut en tout cas pas exclure sa responsabilité pour faute grave (<ref-ruling> consid. 2; <ref-ruling> consid. 3a; arrêts précités 4A_379/2016 consid. 3.3 et 3.3.1; 4A_386/2016 consid. 2.2.3 et 2.2.4; 4A_398/2009 consid. 5.1.2; 4A_54/2009 consid. 1).
En général, la banque doit vérifier l'authenticité des ordres qui lui sont adressés uniquement selon les modalités convenues entre les parties ou, le cas échéant, spécifiées par la loi. Elle n'a pas à prendre de mesures extraordinaires, incompatibles avec une liquidation rapide des opérations. Bien qu'elle doive compter avec l'existence de faux, elle n'a pas à les présumer systématiquement. Elle procédera cependant à des vérifications supplémentaires lorsqu'il existe des indices sérieux de falsification, lorsque l'ordre ne porte pas sur une opération prévue par le contrat ou résultant de la pratique, ou encore lorsque des circonstances particulières suscitent le doute (arrêt précité 4A_386/2016 consid. 2.2.6; <ref-ruling> consid. 2 in fine p. 453 et les réf.; <ref-ruling> consid. 2a).
4.
Dans le présent litige, la recourante agit en restitution des montants de 600'000 USD et 900'000 USD en faisant valoir que la banque a viré ces montants de son compte sur les instructions d'un tiers non autorisé qui aurait piraté la messagerie électronique de son représentant.
La Cour de justice a jugé que la banque, conformément à la documentation contractuelle acceptée par la recourante, avait exécuté des instructions transmises par messagerie électronique, dont l'adresse était détenue par le fondé de procuration de la recourante et avait été précédemment utilisée pour communiquer avec la banque. La banque avait satisfait «a priori» aux conditions lui permettant de s'opposer à payer une seconde fois les sommes litigieuses. La recourante devait dès lors prouver que les ordres de paiement n'émanaient pas de son représentant, mais d'un tiers ayant piraté la messagerie de celui-ci et se faisant faussement passer pour lui. Le degré de preuve requis était la preuve stricte. En effet, la recourante ne se trouvait pas dans un état de nécessité en matière de preuves qui pourrait justifier de se limiter à la vraisemblance prépondérante. On pouvait exiger de la recourante qu'elle entame elle-même des démarches pour identifier les auteurs du piratage et produise des éléments de preuve attestant l'utilisation frauduleuse de l'adresse électronique, notamment d'un point de vue technique. Or, elle n'avait pas apporté une telle preuve.
5.
5.1. La recourante reproche à la Cour de justice d'avoir méconnu les règles sur le degré de la preuve en se contentant d'une simple vraisemblance plutôt que d'une certitude quant au fait que la banque aurait exécuté correctement ses obligations; la Cour aurait ignoré bon nombre d'éléments qui contrediraient ce constat et établiraient même une faute grave. Cette erreur l'aurait conduite à renverser indûment le fardeau de la preuve en imposant à la recourante de prouver que la banque n'avait pas rempli correctement ses obligations.
5.2. Savoir si la banque a régulièrement exécuté ses obligations contractuelles est une question de droit, dont la réponse dépend cependant des constatations de fait quant au déroulement des événements. Cela étant, est discuté le point de savoir à qui incombait le fardeau de la preuve de la prétendue fraude.
5.3. On trouve, dans des affaires où la banque a exécuté les instructions de tiers non autorisés agissant dans un but frauduleux, la mention selon laquelle la banque doit prouver l'exécution régulière du contrat (<ref-ruling> consid. 1b; arrêt 4C.253/1991 du 14 février 1992 consid. 2 in fine), c'est-à-dire établir les faits permettant de déduire une telle conclusion juridique. Il s'agit d'une application du principe selon lequel le créancier/demandeur doit prouver l'existence de sa prétention contractuelle, tandis que le débiteur/défendeur doit établir qu'il a exécuté correctement son obligation et éteint de ce fait la créance (arrêt 4A_625/2015 du 29 juin 2016 consid. 5.1; <ref-ruling> consid. 3b).
En l'occurrence, la cliente agit en restitution de fonds confiés à la banque, qui oppose une créance en remboursement des frais encourus pour l'exécution régulière de son mandat, soit l'exécution des deux ordres de transfert reçus en décembre 2013. S'il est avéré que la banque a agi sur la base d'ordres transmis et vérifiés conformément aux modalités convenues, il incombe bel et bien à la cliente de prouver qu'un tiers a usurpé d'une manière ou d'une autre son identité ou le moyen de télécommunication utilisé. Si cette preuve est rapportée, et seulement dans cette hypothèse, doivent être examinées les questions de savoir qui supporte le risque du défaut d'identification de la supercherie, respectivement si la banque a manqué à un devoir de vérification accru (cf. supra consid. 3 in fine), qui serait né de circonstances propres à susciter des soupçons.
La Cour de justice n'a donc pas méconnu l'<ref-law> en considérant que la cliente devait apporter la preuve d'une fraude d'un tiers malveillant, du moment qu'il était avéré que la banque avait agi sur la base d'instructions en se conformant aux modalités convenues (sur ce point, cf. consid. 6 infra). Concernant le degré de preuve requis, la cour cantonale a considéré qu'il fallait s'en tenir à la preuve stricte, en ajoutant ensuite que même sous l'angle d'une vraisemblance prépondérante, la fraude ne serait pas établie. La recourante n'a formulé aucune critique quant à l'exigence d'une preuve stricte. Il faut donc s'en tenir à celle-ci (cf. consid. 2.1 supra).
6.
La Cour de justice a considéré que la banque avait respecté les règles convenues pour l'exécution des ordres de paiement.
6.1. Tout d'abord, les juges genevois ont admis que l'utilisation du courrier électronique était un mode de communication convenu. La recourante n'émet aucun grief à cet égard.
6.2. En revanche, elle plaide que son représentant D._ donnait des ordres de transfert uniquement par l'adresse électronique D._@...ru. L'état de fait serait incomplet, en ce sens qu'il aurait fallu constater que l'adresse @gmail.com n'avait jamais été utilisée pour des ordres de transfert.
La recourante n'indique pas sur la base de quelle (s) allégation (s) et moyens de preuve précis un tel fait aurait dû être retenu. Quoi qu'il en soit, l'arrêt attaqué constate que D._ utilisait l'adresse D._@...ru lorsqu'il adressait des ordres de transfert à la banque, mais que son adresse @gmail.com était aussi régulièrement utilisée dans le cadre des communications électroniques de B._ SA et A._ SA avec la banque. Cela peut impliquer que l'utilisation de cette dernière adresse pour passer des ordres de transfert était inusuelle. Cependant, rien n'indique que la décharge signée en 2005 ou un document contractuel ultérieur aurait réservé l'utilisation d'adresses e-mail spécifiques. Une telle réserve ne saurait non plus découler de la pratique décrite dans l'arrêt, qui constate également que différentes adresses électroniques ont été utilisées par les représentants de B._ SA et A._ SA dans le cadre de leurs communications avec la banque.
En bref, rien n'indique que les parties auraient convenu tacitement que des adresses électroniques spécifiques devaient être utilisées pour les ordres de virement. La recourante ne le prétend du reste pas. La banque était donc habilitée à exécuter un ordre transmis au moyen d'une adresse électronique dont était titulaire la personne dotée de la signature individuelle pour les deux relations bancaires, et qui était fréquemment utilisée pour les communications concernant les deux sociétés.
6.3. La recourante objecte également que les ordres de transfert étaient toujours confirmés par fax, les seuls contre-exemples fournis concernant des transferts à l'intérieur du groupe. L'arrêt attaqué serait manifestement incomplet à cet égard.
La recourante se borne à renvoyer au jugement de première instance, qui se révèle plus nuancé qu'elle l'indique. Selon celui-ci, les deux sociétés ont en général confirmé par fax les ordres de paiement adressés à la banque par courrier électronique; toutefois, aux dires des gestionnaires de la banque (i.e X._ et Y._, réd.), tel n'était pas toujours le cas, les pièces produites à ce sujet démontrant pour l'essentiel des transferts « intra groupe» (jgt de Ire instance, p. 6 s.). Plus loin, le Tribunal de première instance relève qu'au vu des pièces produites, la plupart des ordres étaient confirmés par fax, sans que cela ne fasse toutefois l'objet d'une exigence convenue entre les parties. Les gestionnaires du compte de la recourante avaient indiqué que les ordres n'étaient pas tous confirmés par ce biais, même si les seules pièces produites à titre d'exemple concernaient pour l'essentiel des transferts intra groupe (jgt de Ire instance, p. 24).
Il apparaît ainsi que les pièces produites ne portaient pas exclusivement, mais essentiellement sur des transferts à l'intérieur du groupe. La recourante ne s'attache pas à démontrer en quoi les pièces en cause porteraient exclusivement sur des transferts entre sociétés du groupe, ce qui suffit déjà à clore toute discussion. Encore faudrait-il que la banque ait su que les récipiendaires étaient des sociétés affiliées. Il n'y a ainsi pas matière à retenir une exigence de confirmation par fax, qui aurait été convenue tacitement entre parties.
6.4. Pour le surplus, ont été remises en annexe des instructions comportant la signature du prénommé, qui se révélait conforme au spécimen dont disposait la banque.
Il n'apparaît pas que les parties aient convenu, ne serait-ce que tacitement, d'une règle à cet égard. L'arrêt attaqué évoque tout au plus une habitude d'annexer aux courriers électroniques des versions numérisées d'ordres de transfert signés. En l'occurrence, les courriers électroniques de décembre 2013 étaient assortis d'annexes portant la signature de D._, qui était donc nécessairement numérisée. La recourante elle-même parle de signature scannée. On ne discerne sur ce point aucune contravention aux modalités convenues, ni même d'écart avec la pratique usuelle, dont il ne ressort pas qu'il était d'usage de produire des écrits avec une signature effective.
6.5. Au vu de ce qui précède, il n'était pas contraire au droit fédéral de considérer que la banque, selon les modalités convenues, était autorisée à exécuter les ordres de transfert.
Il incombait dès lors bel et bien à la recourante de prouver ses allégations selon lesquelles les ordres n'émanaient pas de D._, mais d'un tiers ayant piraté sa messagerie.
7.
7.1. La Cour de justice a considéré que cette preuve n'était pas apportée. A cet égard, il ne suffisait pas qu'il y ait eu des disparités ou incohérences entre les deux ordres litigieux et les ordres précédemment donnés par la recourante, ni que les autorités coréennes - dont les investigations n'avaient pas permis de mettre en évidence une fraude - aient bloqué des comptes et délivré un mandat d'arrêt. En particulier, il n'était pas exclu que la cliente ou son représentant ait introduit des divergences à dessein, pour faire croire à un acte malveillant et contraindre la banque à recréditer le compte courant des montants débités, tout en récupérant tout ou partie des montants transférés avec la complicité du récipiendaire. La cliente n'avait pas contacté les autorités de police compétentes et avait refusé de collaborer pleinement à l'enquête pénale initiée par la banque en Corée, en omettant de fournir une confirmation formelle qu'il n'y avait aucun lien entre la cliente et la société récipiendaire titulaire du compte bancaire en Corée; ces faits étaient de nature à susciter des doutes. Alors que l'adresse e-mail concernée était celle de son représentant et principal animateur, on pouvait exiger d'elle qu'elle entame des démarches pour identifier les auteurs du piratage et produise des éléments de preuve attestant d'une utilisation frauduleuse de l'adresse en question, notamment d'un point de vue technique, ce qu'elle n'avait pas fait. De son côté, la banque avait déposé plainte successivement en Corée et en Suisse, sans que les procédures n'aboutissent.
7.2. Ce faisant, la cour cantonale a porté une appréciation des preuves que le Tribunal fédéral ne revoit que sous l'angle de l'arbitraire (<ref-ruling> consid. 2.4 p. 150). La recourante n'a formulé aucun grief en ce sens (cf. consid. 2 supra). Par surabondance, l'appréciation n'a rien d'insoutenable (cf. <ref-ruling> consid. 2.3 p. 266; <ref-ruling> consid. 4.2).
La recourante évoque tout au plus l'arbitraire en lien avec le constat selon lequel elle a modifié à dessein son modus operandi pour pouvoir ensuite dénoncer une fraude à laquelle elle a été partie prenante; la Cour de justice lui aurait indûment imposé de prouver qu'elle n'avait pas participé à l'infraction.
En réalité, la Cour n'a pas constaté une telle implication dans la fraude comme fait avéré. Elle a tout au plus évoqué ce scénario fondé sur l'attitude troublante de la recourante comme une hypothèse parmi d'autres, pour étayer son appréciation selon laquelle il ne suffisait pas, dans les circonstances concrètes, d'établir des disparités voire incohérences par rapport à la pratique habituelle pour démontrer l'existence d'une fraude. Le grief est infondé.
7.3. La recourante dénonce encore deux inexactitudes manifestes dans l'état de fait. Il serait erroné d'affirmer que certains ordres de transfert n'étaient pas signés, et que le papier à en-tête d'une des deux sociétés a quelques fois été utilisé pour des affaires concernant l'autre société.
Le premier grief ne paraît pas pertinent dans la mesure où la banque a reçu en annexes aux courriels des ordres de transfert portant la signature de D._ (consid. 6.4 supra). Quant à l'autre grief, même en tenant compte de cette éventuelle divergence supplémentaire par rapport à la pratique de la recourante, il n'y aurait pas matière à établir un arbitraire dans l'appréciation selon laquelle la preuve d'un piratage n'est pas établie.
7.4. Du moment que la fraude invoquée par la recourante n'était pas établie, la cour cantonale pouvait conclure sans enfreindre le droit fédéral que la banque avait exécuté les ordres de virement litigieux conformément aux modalités convenues et disposait d'une créance en remboursement des montants transférés.
Les griefs relatifs à la prétendue faute grave de la banque sont ainsi privés d'objet.
8.
En définitive, le recours doit être rejeté. Par conséquent, la recourante supportera les frais de la présente procédure et versera une indemnité de dépens à l'intimée (art. 66 al. 1 et art. 68 al. 1 et 2 LTF).

Par ces motifs, le Tribunal fédéral prononce :
1.
Le recours est rejeté.
2.
Les frais judiciaires, arrêtés à 16'000 fr., sont mis à la charge de la recourante.
3.
La recourante versera à l'intimée une indemnité de 18'000 fr. à titre de dépens.
4.
Le présent arrêt est communiqué aux mandataires des parties et à la Cour de justice du canton de Genève.
Lausanne, le 29 mai 2018
Au nom de la Ire Cour de droit civil
du Tribunal fédéral suisse
La présidente: Kiss
La greffière: Monti